diff --git a/CHANGELOG.md b/CHANGELOG.md
index b14a7d6802f..d5fabb705ac 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,22 @@ This project adheres to [Semantic Versioning](http://semver.org/).
## Unreleased
+### Updated
+- Updated Plotly.js from version 3.0.1 to version 3.0.3. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#303----2025-07-23) for more information.
+
+### Added
+- Exposed `plotly.io.get_chrome()` as a function which can be called from within a Python script. [[#5282](https://github.com/plotly/plotly.py/pull/5282)]
+
+## [6.2.0] - 2025-06-26
+
+### Added
+- Add SRI (Subresource Integrity) hash support for CDN script tags when using `include_plotlyjs='cdn'`. This enhances security by ensuring browser verification of CDN-served plotly.js files [[#5165](https://github.com/plotly/plotly.py/pull/5165)] (with thanks to @ddworken)
+
+### Fixed
+- Allow setting Plotly.js path via `pio.defaults` [[#5207](https://github.com/plotly/plotly.py/pull/5207)]
+
+### Changed
+- Refactor validation code to reduce bundle size [[#5214](https://github.com/plotly/plotly.py/pull/5214)] (with thanks to @bmaranville)
- Add deprecation warnings when using Kaleido v0 or deprecated image export features [[#5177](https://github.com/plotly/plotly.py/pull/5236)]
## [6.1.2] - 2025-05-27
@@ -24,9 +40,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- Add support for Kaleido>=v1.0.0 for image generation [[#5062](https://github.com/plotly/plotly.py/pull/5062), [#5177](https://github.com/plotly/plotly.py/pull/5177)]
- Reduce package bundle size by 18-24% via changes to code generation [[#4978](https://github.com/plotly/plotly.py/pull/4978)]
-### Added
-- Add SRI (Subresource Integrity) hash support for CDN script tags when using `include_plotlyjs='cdn'`. This enhances security by ensuring browser verification of CDN-served plotly.js files [[#PENDING](https://github.com/plotly/plotly.py/pull/PENDING)]
-
### Fixed
- Fix third-party widget display issues in v6 [[#5102](https://github.com/plotly/plotly.py/pull/5102)]
- Add handling for case where `jupyterlab` or `notebook` is not installed [[#5104](https://github.com/plotly/plotly.py/pull/5104/files)]
diff --git a/commands.py b/commands.py
index 01f158380ce..8fca2444639 100644
--- a/commands.py
+++ b/commands.py
@@ -244,27 +244,10 @@ def update_plotlyjs(plotly_js_version, outdir):
# FIXME: switch to argparse
-def update_schema_bundle_from_master():
+def update_schema_bundle_from_master(args):
"""Update the plotly.js schema and bundle from master."""
-
- if "--devrepo" in sys.argv:
- devrepo = sys.argv[sys.argv.index("--devrepo") + 1]
- else:
- devrepo = "plotly/plotly.js"
-
- if "--devbranch" in sys.argv:
- devbranch = sys.argv[sys.argv.index("--devbranch") + 1]
- else:
- devbranch = "master"
-
- if "--local" in sys.argv:
- local = sys.argv[sys.argv.index("--local") + 1]
- else:
- local = None
-
- if local is None:
- build_info = get_latest_publish_build_info(devrepo, devbranch)
-
+ if args.local is None:
+ build_info = get_latest_publish_build_info(args.devrepo, args.devbranch)
archive_url, bundle_url, schema_url = get_bundle_schema_urls(
build_info["build_num"]
)
@@ -275,14 +258,14 @@ def update_schema_bundle_from_master():
# Update schema in package data
overwrite_schema(schema_url)
else:
- # this info could be more informative but
- # it doesn't seem as useful in a local context
- # and requires dependencies and programming.
+ # this info could be more informative but it doesn't seem as
+ # useful in a local context and requires dependencies and
+ # programming.
build_info = {"vcs_revision": "local", "committer_date": str(time.time())}
- devrepo = local
- devbranch = ""
+ args.devrepo = args.local
+ args.devbranch = ""
- archive_uri, bundle_uri, schema_uri = get_bundle_schema_local(local)
+ archive_uri, bundle_uri, schema_uri = get_bundle_schema_local(args.local)
overwrite_bundle_local(bundle_uri)
overwrite_schema_local(schema_uri)
@@ -293,7 +276,7 @@ def update_schema_bundle_from_master():
# Replace version with bundle url
package_json["dependencies"]["plotly.js"] = (
- archive_url if local is None else archive_uri
+ archive_url if args.local is None else archive_uri
)
with open(package_json_path, "w") as f:
json.dump(package_json, f, indent=2)
@@ -301,15 +284,15 @@ def update_schema_bundle_from_master():
# update plotly.js version in _plotlyjs_version
rev = build_info["vcs_revision"]
date = str(build_info["committer_date"])
- version = "_".join([devrepo, devbranch, date[:10], rev[:8]])
+ version = "_".join([args.devrepo, args.devbranch, date[:10], rev[:8]])
overwrite_plotlyjs_version_file(version)
- install_js_deps(local)
+ install_js_deps(args.local)
-def update_plotlyjs_dev(outdir):
+def update_plotlyjs_dev(args, outdir):
"""Update project to a new development version of plotly.js."""
- update_schema_bundle_from_master()
+ update_schema_bundle_from_master(args)
perform_codegen(outdir)
@@ -328,7 +311,14 @@ def parse_args():
subparsers.add_parser("format", help="reformat code")
- subparsers.add_parser("updateplotlyjsdev", help="update plotly.js for development")
+ p_update_dev = subparsers.add_parser(
+ "updateplotlyjsdev", help="update plotly.js for development"
+ )
+ p_update_dev.add_argument(
+ "--devrepo", default="plotly/plotly.js", help="repository"
+ )
+ p_update_dev.add_argument("--devbranch", default="master", help="branch")
+ p_update_dev.add_argument("--local", default=None, help="local path")
subparsers.add_parser("updateplotlyjs", help="update plotly.js")
@@ -353,7 +343,7 @@ def main():
lint_code(outdir)
elif args.cmd == "updateplotlyjsdev":
- update_plotlyjs_dev(outdir)
+ update_plotlyjs_dev(args, outdir)
elif args.cmd == "updateplotlyjs":
version = plotly_js_version()
diff --git a/doc/apidoc/conf.py b/doc/apidoc/conf.py
index 3b71a156e5b..02317ef0eef 100644
--- a/doc/apidoc/conf.py
+++ b/doc/apidoc/conf.py
@@ -24,7 +24,7 @@
# The short X.Y version
version = ""
# The full version, including alpha/beta/rc tags
-release = "6.0.1"
+release = "6.2.0"
# -- General configuration ---------------------------------------------------
diff --git a/doc/python/bar-charts.md b/doc/python/bar-charts.md
index 543b1563e3f..3e28be0dfe3 100644
--- a/doc/python/bar-charts.md
+++ b/doc/python/bar-charts.md
@@ -589,6 +589,108 @@ fig.update_layout(
)
```
+### Using a scatterplot to wrap long bars into multiple columns
+
+This bar-style pictogram allows readers to focus on the relative sizes of smaller entities by wrapping the bar for largest entries into multiple columns. You could make it even more of a pictogram by using fontawesome to replace the square markers we use below with icons like mortar boards for students.
+
+```python
+import plotly.graph_objects as go
+import pandas as pd
+def pictogram_bar(data, title, icon_size, max_icons_per_column=10, units_per_icon=1, unit_description="", inter_group_spacing=.8,icon_vertical_spacing=0.005):
+
+ fig = go.Figure()
+ x_start = 1
+ tick_locations = []
+ #loop through each group and create a trace with its icons
+ for i, (category, value) in enumerate(data.items()):
+ # compute the number of icons to use to represent this category. Depending on your use case, you might replace round with floor or ceiling.
+ icon_count = round(value / units_per_icon)
+ # compute the number of columns in which to arrange the icons for this category
+ # using a double negative sign to convert a floor(division) operation into a ceiling(division) operation
+ num_columns = -(-icon_count // max_icons_per_column)
+
+ #create and populate lists of icon coordinates
+ x_coordinates, y_coordinates = [], []
+ for col in range(num_columns):
+ # the number of icons in this column is the lesser of the column height or
+ # the number of icons remaining to place
+ column_icons = min(max_icons_per_column, icon_count - col * max_icons_per_column)
+
+ # Create a one item list containing the x-coordinate of this column.
+ # Then add column_icons copies of that coordinate to the list of icon x coordinates using list multiplication.
+ # Normalizing the width of each within-category column to 1 simplifies the code.
+ # We can adjust the visible space between columns by adjusting the total width below.
+ x_coordinates.extend([x_start + col] * column_icons)
+ # Create a list of sequentially increasing y-coordinates for icons.
+ y_coordinates.extend([y + icon_vertical_spacing * y for y in range(1, column_icons + 1)])
+ # Add scatter plot for the category
+ fig.add_trace(go.Scatter(
+ x=x_coordinates,
+ y=y_coordinates,
+ mode='markers',
+ marker=dict(size=icon_size, symbol="square", color= i),
+ name=category,
+ # Suppress the x and y coordinates in the hover text, since they are irrelevant implementation details.
+ hoverinfo="text",
+ text=[f"{category}: {value}" for _ in range(len(x_coordinates))]
+ ))
+
+ # Add an annotation above the center of each category showing its value
+ fig.add_trace(go.Scatter(
+ x=[x_start + (num_columns - 1) / 2], # Compute the location of the center
+ y=[max_icons_per_column* (1+icon_vertical_spacing) + 1.15],
+ mode="text",
+ text=[f"{value}"],
+ textfont=dict(size=14, color="black"),
+ showlegend=False
+ ))
+ # Track locations where we will put the text labeling each category
+ tick_locations.append(x_start + (num_columns - 1) / 2)
+ #compute the left edge of the next category
+ x_start += num_columns + inter_group_spacing
+
+ fig.update_layout(
+ title=title,
+ xaxis=dict(
+ tickvals=tick_locations,
+ # Label ecah category
+ ticktext=list(data.keys()),
+ tickangle=-45,
+ showgrid=False,
+ title="Categories"
+ ),
+ yaxis=dict(
+ title=f"Each icon represents {units_per_icon:,g} {unit_description}",
+ # The y-axis goes above the top icon to make room for the annotations.
+ # We set tick values so the axis labeling does not go above the top icon.
+ # If you choose a value of max_icons_per_column that is not a multiple of 5, consider changing this.
+ tickvals=list(range(0,max_icons_per_column+1,5)),
+ showgrid=False,
+ zeroline=False,
+ ),
+ # We have already got all the labeling we need so we suppress the legend.
+ showlegend=False,
+ height=700,
+ # The x-coordinates scale to fill available space, so adjusting the width of the image is a good way to adjust spacing between columns.
+ width=(len(data) * 150 + 50)
+ )
+ fig.show()
+
+df = pd.DataFrame({
+ 'School': ["Haverford College", "University of Mary Washington", "Brown University", "Arizona State University"],
+ 'Enrollment': [1421, 3611, 7226, 65174]
+})
+
+pictogram_bar(
+ data={row['School']: row['Enrollment'] for _, row in df.iterrows()},
+ title="Undergraduate Enrollment at Participating Schools",
+ units_per_icon=1000,
+ unit_description = "students",
+ icon_size=27,
+ icon_vertical_spacing=0.05
+)
+```
+
### Customizing Individual Bar Base
```python
diff --git a/doc/python/figurewidget.md b/doc/python/figurewidget.md
index c2d76327e7b..9482c29f767 100644
--- a/doc/python/figurewidget.md
+++ b/doc/python/figurewidget.md
@@ -22,7 +22,7 @@ jupyter:
pygments_lexer: ipython3
version: 3.6.5
plotly:
- description: Introduction to the new Plotly FigureWidget
+ description: Introduction to the Plotly FigureWidget
display_as: chart_events
language: python
layout: base
@@ -34,6 +34,12 @@ jupyter:
redirect_from: /python/ipython-widgets/
---
+The Plotly FigureWidget allows you to add Plotly charts as interactive widgets in Jupyter and other compatible notebooks. To use the FigureWidget, you'll need to install `anywidget`:
+
+```bash
+pip install anywidget
+```
+
#### Create a Simple FigureWidget
Create an empty FigureWidget and then view it.
diff --git a/doc/python/line-and-scatter.md b/doc/python/line-and-scatter.md
index 9ddaad8aac7..51291cfaa5b 100644
--- a/doc/python/line-and-scatter.md
+++ b/doc/python/line-and-scatter.md
@@ -284,6 +284,144 @@ fig.update_traces(textposition="bottom right")
fig.show()
```
+### Swarm (or Beeswarm) Plots
+
+Swarm plots show the distribution of values in a column by giving each entry one dot and adjusting the y-value so that dots do not overlap and appear symmetrically around the y=0 line. They complement [histograms](https://plotly.com/python/histograms/), [box plots](https://plotly.com/python/box-plots/), and [violin plots](https://plotly.com/python/violin/). This example could be generalized to implement a swarm plot for multiple categories by adjusting the y-coordinate for each category.
+
+```python
+import pandas as pd
+import plotly.express as px
+import collections
+
+
+def negative_1_if_count_is_odd(count):
+ # if this is an odd numbered entry in its bin, make its y coordinate negative
+ # the y coordinate of the first entry is 0, so entries 3, 5, and 7 get
+ # negative y coordinates
+ if count % 2 == 1:
+ return -1
+ else:
+ return 1
+
+
+def swarm(
+ X_series,
+ fig_title,
+ point_size=16,
+ fig_width=800,
+ gap_multiplier=1.2,
+ bin_fraction=0.95, # slightly undersizes the bins to avoid collisions
+):
+ # sorting will align columns in attractive c-shaped arcs rather than having
+ # columns that vary unpredictably in the x-dimension.
+ # We also exploit the fact that sorting means we see bins sequentially when
+ # we add collision prevention offsets.
+ X_series = X_series.copy().sort_values()
+
+ # we need to reason in terms of the marker size that is measured in px
+ # so we need to think about each x-coordinate as being a fraction of the way from the
+ # minimum X value to the maximum X value
+ min_x = min(X_series)
+ max_x = max(X_series)
+
+ list_of_rows = []
+ # we will count the number of points in each "bin" / vertical strip of the graph
+ # to be able to assign a y-coordinate that avoids overlapping
+ bin_counter = collections.Counter()
+
+ for x_val in X_series:
+ # assign this x_value to bin number
+ # each bin is a vertical strip slightly narrower than one marker
+ bin = (((fig_width*bin_fraction*(x_val-min_x))/(max_x-min_x)) // point_size)
+
+ # update the count of dots in that strip
+ bin_counter.update([bin])
+
+ # remember the "y-slot" which tells us the number of points in this bin and is sufficient to compute the y coordinate unless there's a collision with the point to its left
+ list_of_rows.append(
+ {"x": x_val, "y_slot": bin_counter[bin], "bin": bin})
+
+ # iterate through the points and "offset" any that are colliding with a
+ # point to their left apply the offsets to all subsequent points in the same bin.
+ # this arranges points in an attractive swarm c-curve where the points
+ # toward the edges are (weakly) further right.
+ bin = 0
+ offset = 0
+ for row in list_of_rows:
+ if bin != row["bin"]:
+ # we have moved to a new bin, so we need to reset the offset
+ bin = row["bin"]
+ offset = 0
+ # see if we need to "look left" to avoid a possible collision
+ for other_row in list_of_rows:
+ if (other_row["bin"] == bin-1):
+ # "bubble" the entry up until we find a slot that avoids a collision
+ while ((other_row["y_slot"] == row["y_slot"]+offset)
+ and (((fig_width*(row["x"]-other_row["x"]))/(max_x-min_x)
+ // point_size) < 1)):
+ offset += 1
+ # update the bin count so we know whether the number of
+ # *used* slots is even or odd
+ bin_counter.update([bin])
+
+ row["y_slot"] += offset
+ # The collision free y coordinate gives the items in a vertical bin
+ # y-coordinates to evenly spread their locations above and below the
+ # y-axis (we'll make a correction below to deal with even numbers of
+ # entries). For now, we'll assign 0, 1, -1, 2, -2, 3, -3 ... and so on.
+ # We scale this by the point_size*gap_multiplier to get a y coordinate
+ # in px.
+ row["y"] = (row["y_slot"]//2) * \
+ negative_1_if_count_is_odd(row["y_slot"])*point_size*gap_multiplier
+
+ # if the number of points is even, move y-coordinates down to put an equal
+ # number of entries above and below the axis
+ for row in list_of_rows:
+ if bin_counter[row["bin"]] % 2 == 0:
+ row["y"] -= point_size*gap_multiplier/2
+
+ df = pd.DataFrame(list_of_rows)
+ # One way to make this code more flexible to e.g. handle multiple categories
+ # would be to return a list of "swarmified" y coordinates here and then plot
+ # outside the function.
+ # That generalization would let you "swarmify" y coordinates for each
+ # category and add category specific offsets to put the each category in its
+ # own row
+
+ fig = px.scatter(
+ df,
+ x="x",
+ y="y",
+ title=fig_title,
+ )
+ # we want to suppress the y coordinate in the hover value because the
+ # y-coordinate is irrelevant/misleading
+ fig.update_traces(
+ marker_size=point_size,
+ # suppress the y coordinate because the y-coordinate is irrelevant
+ hovertemplate="value: %{x}",
+ )
+ # we have to set the width and height because we aim to avoid icon collisions
+ # and we specify the icon size in the same units as the width and height
+ fig.update_layout(width=fig_width, height=(
+ point_size*max(bin_counter.values())+200))
+ fig.update_yaxes(
+ showticklabels=False, # Turn off y-axis labels
+ ticks='', # Remove the ticks
+ title=""
+ )
+ return fig
+
+
+df = px.data.iris() # iris is a pandas DataFrame
+fig = swarm(df["sepal_length"], "Sepal length distribution from 150 iris samples")
+# The iris data set entries are rounded so there are no collisions.
+# a more interesting test case for collision avoidance is:
+# fig = swarm(pd.Series([1, 1.5, 1.78, 1.79, 1.85, 2,
+# 2, 2, 2, 3, 3, 2.05, 2.1, 2.2, 2.5, 12]))
+fig.show()
+```
+
## Scatter and line plots with go.Scatter
If Plotly Express does not provide a good starting point, it is possible to use [the more generic `go.Scatter` class from `plotly.graph_objects`](/python/graph-objects/). Whereas `plotly.express` has two functions `scatter` and `line`, `go.Scatter` can be used both for plotting points (makers) or lines, depending on the value of `mode`. The different options of `go.Scatter` are documented in its [reference page](https://plotly.com/python/reference/scatter/).
diff --git a/doc/python/static-image-export.md b/doc/python/static-image-export.md
index 7ac4beb56fb..43f584e097e 100644
--- a/doc/python/static-image-export.md
+++ b/doc/python/static-image-export.md
@@ -64,12 +64,12 @@ Plotly also provides a CLI for installing Chrome from the command line.
Run `plotly_get_chrome` to install Chrome.
-You can also install Chrome from within Python using `plotly.io.install_chrome()`
+You can also install Chrome from Python using `plotly.io.get_chrome()`
```python
import plotly.io as pio
-pio.install_chrome()
+pio.get_chrome()
```
See the **Additional Information on Browsers with Kaleido** section below for more details on browser compatibility for Kaleido.
@@ -269,10 +269,12 @@ The following settings are available.
`default_scale`: The default image scale factor applied on image export.
-`default_format`: The default image format used on export. One of "png", "jpeg", "webp", "svg", or "pdf". ("eps" support is deprecated and available with Kaleido v0 only)
+`default_format`: The default image format used on export. One of "png", "jpeg", "webp", "svg", or "pdf". ("eps" support is available with Kaleido v0 only)
`mathjax`: Location of the MathJax bundle needed to render LaTeX characters. Defaults to a CDN location. If fully offline export is required, set this to a local MathJax bundle.
+`plotlyjs`: Location of the Plotly.js bundle to use. Can be a local file path or URL. By default, Kaleido uses the Plotly.js bundle included with Plotly.py.
+
`topojson`: Location of the topojson files needed to render choropleth traces. Defaults to a CDN location. If fully offline export is required, set this to a local directory containing the Plotly.js topojson files.
`mapbox_access_token`: The default Mapbox access token (Kaleido v0 only). Mapbox traces are deprecated. See the [MapLibre Migration](https://plotly.com/python/mapbox-to-maplibre/) page for more details.
diff --git a/doc/python/text-and-annotations.md b/doc/python/text-and-annotations.md
index 84521f34cd7..56f341e8728 100644
--- a/doc/python/text-and-annotations.md
+++ b/doc/python/text-and-annotations.md
@@ -789,6 +789,11 @@ This example shows how to add a note about the data source or interpretation at
```python
import plotly.express as px
df = px.data.iris()
+
+fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species",
+ size='petal_length', hover_data=['petal_width'])
+
+
fig.update_layout(
title=dict(text="Note: this is the Plotly title element.",
# keeping this title string short avoids getting the text cut off in small windows
diff --git a/doc/python/tile-county-choropleth.md b/doc/python/tile-county-choropleth.md
index 75b89acb302..06f6bd7b2da 100644
--- a/doc/python/tile-county-choropleth.md
+++ b/doc/python/tile-county-choropleth.md
@@ -22,7 +22,7 @@ jupyter:
pygments_lexer: ipython3
version: 3.10.0
plotly:
- description: How to make a choropleth map of US counties in Python with Plotly.
+ description: How to make tile choropleth maps in Python with Plotly.
display_as: maps
language: python
layout: base
@@ -254,4 +254,4 @@ fig.show()
See [function reference for `px.choropleth_map`](https://plotly.com/python-api-reference/generated/plotly.express.choropleth_map) or https://plotly.com/python/reference/choroplethmap/ for more information about the attributes available.
-For Mapbox-based tile maps, see [function reference for `px.choropleth_mapbox`](https://plotly.com/python-api-reference/generated/plotly.express.choropleth_mapbox) or https://plotly.com/python/reference/choroplethmapbox/.
+For (deprecated) Mapbox-based tile maps, see [function reference for `px.choropleth_mapbox`](https://plotly.com/python-api-reference/generated/plotly.express.choropleth_mapbox) or https://plotly.com/python/reference/choroplethmapbox/.
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 85e870636ad..a874f2f0228 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -1,4 +1,4 @@
-plotly==6.0.1
+plotly==6.2.0
anywidget
cufflinks==0.17.3
dash-bio
diff --git a/doc/what_about_dash.md b/doc/what_about_dash.md
index 696aa93a632..5a0b192f4ea 100644
--- a/doc/what_about_dash.md
+++ b/doc/what_about_dash.md
@@ -22,6 +22,6 @@ app.layout = html.Div([
dcc.Graph(figure=fig)
])
-app.run_server(debug=True, use_reloader=False) # Turn off reloader if inside Jupyter
+app.run(debug=True, use_reloader=False) # Turn off reloader if inside Jupyter
```
diff --git a/js/install.json b/js/install.json
index 556c5ebc790..7420c284058 100644
--- a/js/install.json
+++ b/js/install.json
@@ -1,9 +1,9 @@
{
"schemaVersion": 1,
- "name": "jupyterlab-plotly",
+ "packageName": "jupyterlab-plotly",
"version": "6.0.1",
+ "packageManager": "python",
"jupyterlab": {
"mimeExtension": "lib/mimeExtension.js"
}
-}
-
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/js/lib/mimeExtension.js b/js/lib/mimeExtension.js
index 1bdbb0c3bd2..797a92dcc66 100644
--- a/js/lib/mimeExtension.js
+++ b/js/lib/mimeExtension.js
@@ -1,90 +1,90 @@
-var lB=Object.create;var TS=Object.defineProperty;var uB=Object.getOwnPropertyDescriptor;var cB=Object.getOwnPropertyNames;var fB=Object.getPrototypeOf,hB=Object.prototype.hasOwnProperty;var Tw=(Ft,Ae)=>()=>(Ae||Ft((Ae={exports:{}}).exports,Ae),Ae.exports);var dB=(Ft,Ae,wt,At)=>{if(Ae&&typeof Ae=="object"||typeof Ae=="function")for(let Vt of cB(Ae))!hB.call(Ft,Vt)&&Vt!==wt&&TS(Ft,Vt,{get:()=>Ae[Vt],enumerable:!(At=uB(Ae,Vt))||At.enumerable});return Ft};var Jv=(Ft,Ae,wt)=>(wt=Ft!=null?lB(fB(Ft)):{},dB(Ae||!Ft||!Ft.__esModule?TS(wt,"default",{value:Ft,enumerable:!0}):wt,Ft));var Lm=Tw((e_,AS)=>{(function(Ft,Ae){typeof e_=="object"&&typeof AS<"u"?Ae(e_):typeof define=="function"&&define.amd?define(["exports"],Ae):(Ft=typeof globalThis<"u"?globalThis:Ft||self,Ae(Ft.lumino_algorithm={}))})(e_,function(Ft){"use strict";Ft.ArrayExt=void 0,function(Xn){function zn(no,Ro,Qn=0,ta=-1){let ua=no.length;if(ua===0)return-1;Qn<0?Qn=Math.max(0,Qn+ua):Qn=Math.min(Qn,ua-1),ta<0?ta=Math.max(0,ta+ua):ta=Math.min(ta,ua-1);let jo;ta0;){let wd=cc>>1,Np=ms+wd;Qn(no[Np],Ro)<0?(ms=Np+1,cc-=wd+1):cc=wd}return ms}Xn.lowerBound=lu;function uf(no,Ro,Qn,ta=0,ua=-1){let jo=no.length;if(jo===0)return 0;ta<0?ta=Math.max(0,ta+jo):ta=Math.min(ta,jo-1),ua<0?ua=Math.max(0,ua+jo):ua=Math.min(ua,jo-1);let ms=ta,cc=ua-ta+1;for(;cc>0;){let wd=cc>>1,Np=ms+wd;Qn(no[Np],Ro)>0?cc=wd:(ms=Np+1,cc-=wd+1)}return ms}Xn.upperBound=uf;function ju(no,Ro,Qn){if(no===Ro)return!0;if(no.length!==Ro.length)return!1;for(let ta=0,ua=no.length;ta=jo&&(Qn=ua<0?jo-1:jo),ta===void 0?ta=ua<0?-1:jo:ta<0?ta=Math.max(ta+jo,ua<0?-1:0):ta>=jo&&(ta=ua<0?jo-1:jo);let ms;ua<0&&ta>=Qn||ua>0&&Qn>=ta?ms=0:ua<0?ms=Math.floor((ta-Qn+1)/ua+1):ms=Math.floor((ta-Qn-1)/ua+1);let cc=[];for(let wd=0;wd=ta))return;let jo=ta-Qn+1;if(Ro>0?Ro=Ro%jo:Ro<0&&(Ro=(Ro%jo+jo)%jo),Ro===0)return;let ms=Qn+Ro;Vl(no,Qn,ms-1),Vl(no,ms,ta),Vl(no,Qn,ta)}Xn.rotate=ho;function bl(no,Ro,Qn=0,ta=-1){let ua=no.length;if(ua===0)return;Qn<0?Qn=Math.max(0,Qn+ua):Qn=Math.min(Qn,ua-1),ta<0?ta=Math.max(0,ta+ua):ta=Math.min(ta,ua-1);let jo;taRo;--ua)no[ua]=no[ua-1];no[Ro]=Qn}Xn.insert=Bm;function Pd(no,Ro){let Qn=no.length;if(Ro<0&&(Ro+=Qn),Ro<0||Ro>=Qn)return;let ta=no[Ro];for(let ua=Ro+1;ua=Qn&&ms<=ta&&no[ms]===Ro||ta=Qn)&&no[ms]===Ro?jo++:jo>0&&(no[ms-jo]=no[ms]);return jo>0&&(no.length=ua-jo),jo}Xn.removeAllOf=lp;function gf(no,Ro,Qn=0,ta=-1){let ua,jo=Ao(no,Ro,Qn,ta);return jo!==-1&&(ua=Pd(no,jo)),{index:jo,value:ua}}Xn.removeFirstWhere=gf;function $a(no,Ro,Qn=-1,ta=0){let ua,jo=$s(no,Ro,Qn,ta);return jo!==-1&&(ua=Pd(no,jo)),{index:jo,value:ua}}Xn.removeLastWhere=$a;function Iv(no,Ro,Qn=0,ta=-1){let ua=no.length;if(ua===0)return 0;Qn<0?Qn=Math.max(0,Qn+ua):Qn=Math.min(Qn,ua-1),ta<0?ta=Math.max(0,ta+ua):ta=Math.min(ta,ua-1);let jo=0;for(let ms=0;ms=Qn&&ms<=ta&&Ro(no[ms],ms)||ta=Qn)&&Ro(no[ms],ms)?jo++:jo>0&&(no[ms-jo]=no[ms]);return jo>0&&(no.length=ua-jo),jo}Xn.removeAllWhere=Iv}(Ft.ArrayExt||(Ft.ArrayExt={}));function*Ae(...Xn){for(let zn of Xn)yield*zn}function*wt(){}function*At(Xn,zn=0){for(let $n of Xn)yield[zn++,$n]}function*Vt(Xn,zn){let $n=0;for(let Ao of Xn)zn(Ao,$n++)&&(yield Ao)}function rr(Xn,zn){let $n=0;for(let Ao of Xn)if(zn(Ao,$n++))return Ao}function hi(Xn,zn){let $n=0;for(let Ao of Xn)if(zn(Ao,$n++))return $n-1;return-1}function Xr(Xn,zn){let $n;for(let Ao of Xn){if($n===void 0){$n=Ao;continue}zn(Ao,$n)<0&&($n=Ao)}return $n}function ai(Xn,zn){let $n;for(let Ao of Xn){if($n===void 0){$n=Ao;continue}zn(Ao,$n)>0&&($n=Ao)}return $n}function Ti(Xn,zn){let $n=!0,Ao,$s;for(let cl of Xn)$n?(Ao=cl,$s=cl,$n=!1):zn(cl,Ao)<0?Ao=cl:zn(cl,$s)>0&&($s=cl);return $n?void 0:[Ao,$s]}function ei(Xn){return Array.from(Xn)}function di(Xn){let zn={};for(let[$n,Ao]of Xn)zn[$n]=Ao;return zn}function Ei(Xn,zn){let $n=0;for(let Ao of Xn)if(zn(Ao,$n++)===!1)return}function pi(Xn,zn){let $n=0;for(let Ao of Xn)if(zn(Ao,$n++)===!1)return!1;return!0}function Jr(Xn,zn){let $n=0;for(let Ao of Xn)if(zn(Ao,$n++))return!0;return!1}function*Le(Xn,zn){let $n=0;for(let Ao of Xn)yield zn(Ao,$n++)}function*Qi(Xn,zn,$n){zn===void 0?(zn=Xn,Xn=0,$n=1):$n===void 0&&($n=1);let Ao=En.rangeLength(Xn,zn,$n);for(let $s=0;$sAo&&$s>0||$n-1;zn--)yield Xn[zn]}function Ji(Xn){let zn=[],$n=new Set,Ao=new Map;for(let jl of Xn)$s(jl);for(let[jl]of Ao)cl(jl);return zn;function $s(jl){let[lu,uf]=jl,ju=Ao.get(uf);ju?ju.push(lu):Ao.set(uf,[lu])}function cl(jl){if($n.has(jl))return;$n.add(jl);let lu=Ao.get(jl);if(lu)for(let uf of lu)cl(uf);zn.push(jl)}}function*za(Xn,zn){let $n=0;for(let Ao of Xn)$n++%zn===0&&(yield Ao)}Ft.StringExt=void 0,function(Xn){function zn(jl,lu,uf=0){let ju=new Array(lu.length);for(let Tc=0,Vu=uf,Vl=lu.length;Tclu?1:0}Xn.cmp=cl}(Ft.StringExt||(Ft.StringExt={}));function*Ia(Xn,zn){if(zn<1)return;let $n=Xn[Symbol.iterator](),Ao;for(;0Ao[Symbol.iterator]()),$n=zn.map(Ao=>Ao.next());for(;pi($n,Ao=>!Ao.done);$n=zn.map(Ao=>Ao.next()))yield $n.map(Ao=>Ao.value)}Ft.chain=Ae,Ft.each=Ei,Ft.empty=wt,Ft.enumerate=At,Ft.every=pi,Ft.filter=Vt,Ft.find=rr,Ft.findIndex=hi,Ft.map=Le,Ft.max=ai,Ft.min=Xr,Ft.minmax=Ti,Ft.once=gn,Ft.range=Qi,Ft.reduce=wn,Ft.repeat=Wi,Ft.retro=Sn,Ft.some=Jr,Ft.stride=za,Ft.take=Ia,Ft.toArray=ei,Ft.toObject=di,Ft.topologicSort=Ji,Ft.zip=To})});var r_=Tw((t_,MS)=>{(function(Ft,Ae){typeof t_=="object"&&typeof MS<"u"?Ae(t_,Lm()):typeof define=="function"&&define.amd?define(["exports","@lumino/algorithm"],Ae):(Ft=typeof globalThis<"u"?globalThis:Ft||self,Ae(Ft.lumino_coreutils={},Ft.lumino_algorithm))})(t_,function(Ft,Ae){"use strict";Ft.JSONExt=void 0,function(Ti){Ti.emptyObject=Object.freeze({}),Ti.emptyArray=Object.freeze([]);function ei(Wi){return Wi===null||typeof Wi=="boolean"||typeof Wi=="number"||typeof Wi=="string"}Ti.isPrimitive=ei;function di(Wi){return Array.isArray(Wi)}Ti.isArray=di;function Ei(Wi){return!ei(Wi)&&!di(Wi)}Ti.isObject=Ei;function pi(Wi,gn){if(Wi===gn)return!0;if(ei(Wi)||ei(gn))return!1;let Sn=di(Wi),Ji=di(gn);return Sn!==Ji?!1:Sn&&Ji?Le(Wi,gn):Qi(Wi,gn)}Ti.deepEqual=pi;function Jr(Wi){return ei(Wi)?Wi:di(Wi)?En(Wi):wn(Wi)}Ti.deepCopy=Jr;function Le(Wi,gn){if(Wi===gn)return!0;if(Wi.length!==gn.length)return!1;for(let Sn=0,Ji=Wi.length;Sn!0,this._plugins=new Map,this._services=new Map,ei.validatePlugin&&(console.info("Plugins may be rejected by the custom validation plugin method."),this._validatePlugin=ei.validatePlugin)}get application(){return this._application}set application(ei){if(this._application!==null)throw Error("PluginRegistry.application is already set. It cannot be overridden.");this._application=ei}get deferredPlugins(){return Array.from(this._plugins).filter(([ei,di])=>di.autoStart==="defer").map(([ei,di])=>ei)}getPluginDescription(ei){var di,Ei;return(Ei=(di=this._plugins.get(ei))===null||di===void 0?void 0:di.description)!==null&&Ei!==void 0?Ei:""}hasPlugin(ei){return this._plugins.has(ei)}isPluginActivated(ei){var di,Ei;return(Ei=(di=this._plugins.get(ei))===null||di===void 0?void 0:di.activated)!==null&&Ei!==void 0?Ei:!1}listPlugins(){return Array.from(this._plugins.keys())}registerPlugin(ei){if(this._plugins.has(ei.id))throw new TypeError(`Plugin '${ei.id}' is already registered.`);if(!this._validatePlugin(ei))throw new Error(`Plugin '${ei.id}' is not valid.`);let di=Vt.createPluginData(ei);Vt.ensureNoCycle(di,this._plugins,this._services),di.provides&&this._services.set(di.provides,di.id),this._plugins.set(di.id,di)}registerPlugins(ei){for(let di of ei)this.registerPlugin(di)}deregisterPlugin(ei,di){let Ei=this._plugins.get(ei);if(Ei){if(Ei.activated&&!di)throw new Error(`Plugin '${ei}' is still active.`);this._plugins.delete(ei)}}async activatePlugin(ei){let di=this._plugins.get(ei);if(!di)throw new ReferenceError(`Plugin '${ei}' is not registered.`);if(di.activated)return;if(di.promise)return di.promise;let Ei=di.requires.map(Jr=>this.resolveRequiredService(Jr)),pi=di.optional.map(Jr=>this.resolveOptionalService(Jr));return di.promise=Promise.all([...Ei,...pi]).then(Jr=>di.activate.apply(void 0,[this.application,...Jr])).then(Jr=>{di.service=Jr,di.activated=!0,di.promise=null}).catch(Jr=>{throw di.promise=null,Jr}),di.promise}async activatePlugins(ei,di={}){switch(ei){case"defer":{let Ei=this.deferredPlugins.filter(pi=>this._plugins.get(pi).autoStart).map(pi=>this.activatePlugin(pi));await Promise.all(Ei);break}case"startUp":{let pi=Vt.collectStartupPlugins(this._plugins,di).map(async Jr=>{try{return await this.activatePlugin(Jr)}catch(Le){console.error(`Plugin '${Jr}' failed to activate.`,Le)}});await Promise.all(pi);break}}}async deactivatePlugin(ei){let di=this._plugins.get(ei);if(!di)throw new ReferenceError(`Plugin '${ei}' is not registered.`);if(!di.activated)return[];if(!di.deactivate)throw new TypeError(`Plugin '${ei}'#deactivate() method missing`);let Ei=Vt.findDependents(ei,this._plugins,this._services),pi=Ei.map(Jr=>this._plugins.get(Jr));for(let Jr of pi)if(!Jr.deactivate)throw new TypeError(`Plugin ${Jr.id}#deactivate() method missing (depends on ${ei})`);for(let Jr of pi){let Le=[...Jr.requires,...Jr.optional].map(Qi=>{let En=this._services.get(Qi);return En?this._plugins.get(En).service:null});await Jr.deactivate(this.application,...Le),Jr.service=null,Jr.activated=!1}return Ei.pop(),Ei}async resolveRequiredService(ei){let di=this._services.get(ei);if(!di)throw new TypeError(`No provider for: ${ei.name}.`);let Ei=this._plugins.get(di);return Ei.activated||await this.activatePlugin(di),Ei.service}async resolveOptionalService(ei){let di=this._services.get(ei);if(!di)return null;let Ei=this._plugins.get(di);if(!Ei.activated)try{await this.activatePlugin(di)}catch(pi){return console.error(pi),null}return Ei.service}}var Vt;(function(Ti){class ei{constructor(Qi){var En,wn,Wi,gn;this._activated=!1,this._promise=null,this._service=null,this.id=Qi.id,this.description=(En=Qi.description)!==null&&En!==void 0?En:"",this.activate=Qi.activate,this.deactivate=(wn=Qi.deactivate)!==null&&wn!==void 0?wn:null,this.provides=(Wi=Qi.provides)!==null&&Wi!==void 0?Wi:null,this.autoStart=(gn=Qi.autoStart)!==null&&gn!==void 0?gn:!1,this.requires=Qi.requires?Qi.requires.slice():[],this.optional=Qi.optional?Qi.optional.slice():[]}get activated(){return this._activated}set activated(Qi){this._activated=Qi}get service(){return this._service}set service(Qi){this._service=Qi}get promise(){return this._promise}set promise(Qi){this._promise=Qi}}function di(Le){return new ei(Le)}Ti.createPluginData=di;function Ei(Le,Qi,En){let wn=[...Le.requires,...Le.optional],Wi=Sn=>{if(Sn===Le.provides)return!0;let Ji=En.get(Sn);if(!Ji)return!1;let za=Qi.get(Ji),Ia=[...za.requires,...za.optional];return Ia.length===0?!1:(gn.push(Ji),Ia.some(Wi)?!0:(gn.pop(),!1))};if(!Le.provides||wn.length===0)return;let gn=[Le.id];if(wn.some(Wi))throw new ReferenceError(`Cycle detected: ${gn.join(" -> ")}.`)}Ti.ensureNoCycle=Ei;function pi(Le,Qi,En){let wn=new Array,Wi=Ia=>{let To=Qi.get(Ia),Xn=[...To.requires,...To.optional];wn.push(...Xn.reduce((zn,$n)=>{let Ao=En.get($n);return Ao&&zn.push([Ia,Ao]),zn},[]))};for(let Ia of Qi.keys())Wi(Ia);let gn=wn.filter(Ia=>Ia[1]===Le),Sn=0;for(;gn.length>Sn;){let Ia=gn.length,To=new Set(gn.map(Xn=>Xn[0]));for(let Xn of To)wn.filter(zn=>zn[1]===Xn).forEach(zn=>{gn.includes(zn)||gn.push(zn)});Sn=Ia}let Ji=Ae.topologicSort(gn),za=Ji.findIndex(Ia=>Ia===Le);return za===-1?[Le]:Ji.slice(0,za+1)}Ti.findDependents=pi;function Jr(Le,Qi){let En=new Set;for(let wn of Le.keys())Le.get(wn).autoStart===!0&&En.add(wn);if(Qi.startPlugins)for(let wn of Qi.startPlugins)En.add(wn);if(Qi.ignorePlugins)for(let wn of Qi.ignorePlugins)En.delete(wn);return Array.from(En)}Ti.collectStartupPlugins=Jr})(Vt||(Vt={}));class rr{constructor(){this.promise=new Promise((ei,di)=>{this._resolve=ei,this._reject=di})}resolve(ei){let di=this._resolve;di(ei)}reject(ei){let di=this._reject;di(ei)}}class hi{constructor(ei,di){this.name=ei,this.description=di??"",this._tokenStructuralPropertyT=null}}function Xr(Ti){let ei=0;for(let di=0,Ei=Ti.length;di>>0),Ti[di]=ei&255,ei>>>=8}Ft.Random=void 0,function(Ti){Ti.getRandomValues=(()=>{let ei=typeof window<"u"&&(window.crypto||window.msCrypto)||null;return ei&&typeof ei.getRandomValues=="function"?function(Ei){return ei.getRandomValues(Ei)}:Xr})()}(Ft.Random||(Ft.Random={}));function ai(Ti){let ei=new Uint8Array(16),di=new Array(256);for(let Ei=0;Ei<16;++Ei)di[Ei]="0"+Ei.toString(16);for(let Ei=16;Ei<256;++Ei)di[Ei]=Ei.toString(16);return function(){return Ti(ei),ei[6]=64|ei[6]&15,ei[8]=128|ei[8]&63,di[ei[0]]+di[ei[1]]+di[ei[2]]+di[ei[3]]+"-"+di[ei[4]]+di[ei[5]]+"-"+di[ei[6]]+di[ei[7]]+"-"+di[ei[8]]+di[ei[9]]+"-"+di[ei[10]]+di[ei[11]]+di[ei[12]]+di[ei[13]]+di[ei[14]]+di[ei[15]]}}Ft.UUID=void 0,function(Ti){Ti.uuid4=ai(Ft.Random.getRandomValues)}(Ft.UUID||(Ft.UUID={})),Ft.MimeData=wt,Ft.PluginRegistry=At,Ft.PromiseDelegate=rr,Ft.Token=hi})});var DS=Tw((RS,d_)=>{(function(Ft,Ae){typeof d_=="object"&&d_.exports?d_.exports=Ae():Ft.moduleName=Ae()})(typeof self<"u"?self:RS,()=>{"use strict";var Ft=(()=>{var Ae=Object.create,wt=Object.defineProperty,At=Object.defineProperties,Vt=Object.getOwnPropertyDescriptor,rr=Object.getOwnPropertyDescriptors,hi=Object.getOwnPropertyNames,Xr=Object.getOwnPropertySymbols,ai=Object.getPrototypeOf,Ti=Object.prototype.hasOwnProperty,ei=Object.prototype.propertyIsEnumerable,di=(Z,H,g)=>H in Z?wt(Z,H,{enumerable:!0,configurable:!0,writable:!0,value:g}):Z[H]=g,Ei=(Z,H)=>{for(var g in H||(H={}))Ti.call(H,g)&&di(Z,g,H[g]);if(Xr)for(var g of Xr(H))ei.call(H,g)&&di(Z,g,H[g]);return Z},pi=(Z,H)=>At(Z,rr(H)),Jr=(Z,H)=>function(){return Z&&(H=(0,Z[hi(Z)[0]])(Z=0)),H},Le=(Z,H)=>function(){return H||(0,Z[hi(Z)[0]])((H={exports:{}}).exports,H),H.exports},Qi=(Z,H)=>{for(var g in H)wt(Z,g,{get:H[g],enumerable:!0})},En=(Z,H,g,x)=>{if(H&&typeof H=="object"||typeof H=="function")for(let A of hi(H))!Ti.call(Z,A)&&A!==g&&wt(Z,A,{get:()=>H[A],enumerable:!(x=Vt(H,A))||x.enumerable});return Z},wn=(Z,H,g)=>(g=Z!=null?Ae(ai(Z)):{},En(H||!Z||!Z.__esModule?wt(g,"default",{value:Z,enumerable:!0}):g,Z)),Wi=Z=>En(wt({},"__esModule",{value:!0}),Z),gn=Le({"src/version.js"(Z){"use strict";Z.version="3.0.1"}}),Sn=Le({"node_modules/native-promise-only/lib/npo.src.js"(Z,H){(function(x,A,S){A[x]=A[x]||S(),typeof H<"u"&&H.exports&&(H.exports=A[x])})("Promise",typeof window<"u"?window:Z,function(){"use strict";var x,A,S,e=Object.prototype.toString,t=typeof setImmediate<"u"?function(_){return setImmediate(_)}:setTimeout;try{Object.defineProperty({},"x",{}),x=function(_,w,M,E){return Object.defineProperty(_,w,{value:M,writable:!0,configurable:E!==!1})}}catch{x=function(w,M,E){return w[M]=E,w}}S=function(){var _,w,M;function E(m,b){this.fn=m,this.self=b,this.next=void 0}return{add:function(b,v){M=new E(b,v),w?w.next=M:_=M,w=M,M=void 0},drain:function(){var b=_;for(_=w=A=void 0;b;)b.fn.call(b.self),b=b.next}}}();function r(l,_){S.add(l,_),A||(A=t(S.drain))}function o(l){var _,w=typeof l;return l!=null&&(w=="object"||w=="function")&&(_=l.then),typeof _=="function"?_:!1}function i(){for(var l=0;l0&&r(i,w))}catch(M){s.call(new h(w),M)}}}function s(l){var _=this;_.triggered||(_.triggered=!0,_.def&&(_=_.def),_.msg=l,_.state=2,_.chain.length>0&&r(i,_))}function c(l,_,w,M){for(var E=0;E<_.length;E++)(function(b){l.resolve(_[b]).then(function(u){w(b,u)},M)})(E)}function h(l){this.def=l,this.triggered=!1}function p(l){this.promise=l,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function d(l){if(typeof l!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var _=new p(this);this.then=function(M,E){var m={success:typeof M=="function"?M:!0,failure:typeof E=="function"?E:!1};return m.promise=new this.constructor(function(v,u){if(typeof v!="function"||typeof u!="function")throw TypeError("Not a function");m.resolve=v,m.reject=u}),_.chain.push(m),_.state!==0&&r(i,_),m.promise},this.catch=function(M){return this.then(void 0,M)};try{l.call(void 0,function(M){a.call(_,M)},function(M){s.call(_,M)})}catch(w){s.call(_,w)}}var T=x({},"constructor",d,!1);return d.prototype=T,x(T,"__NPO__",0,!1),x(d,"resolve",function(_){var w=this;return _&&typeof _=="object"&&_.__NPO__===1?_:new w(function(E,m){if(typeof E!="function"||typeof m!="function")throw TypeError("Not a function");E(_)})}),x(d,"reject",function(_){return new this(function(M,E){if(typeof M!="function"||typeof E!="function")throw TypeError("Not a function");E(_)})}),x(d,"all",function(_){var w=this;return e.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):_.length===0?w.resolve([]):new w(function(E,m){if(typeof E!="function"||typeof m!="function")throw TypeError("Not a function");var b=_.length,v=Array(b),u=0;c(w,_,function(f,P){v[f]=P,++u===b&&E(v)},m)})}),x(d,"race",function(_){var w=this;return e.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):new w(function(E,m){if(typeof E!="function"||typeof m!="function")throw TypeError("Not a function");c(w,_,function(v,u){E(u)},m)})}),d})}}),Ji=Le({"node_modules/@plotly/d3/d3.js"(Z,H){(function(){var g={version:"3.8.2"},x=[].slice,A=function(de){return x.call(de)},S=self.document;function e(de){return de&&(de.ownerDocument||de.document||de).documentElement}function t(de){return de&&(de.ownerDocument&&de.ownerDocument.defaultView||de.document&&de||de.defaultView)}if(S)try{A(S.documentElement.childNodes)[0].nodeType}catch{A=function(Re){for(var Ke=Re.length,ft=new Array(Ke);Ke--;)ft[Ke]=Re[Ke];return ft}}if(Date.now||(Date.now=function(){return+new Date}),S)try{S.createElement("DIV").style.setProperty("opacity",0,"")}catch{var r=this.Element.prototype,o=r.setAttribute,i=r.setAttributeNS,n=this.CSSStyleDeclaration.prototype,a=n.setProperty;r.setAttribute=function(Re,Ke){o.call(this,Re,Ke+"")},r.setAttributeNS=function(Re,Ke,ft){i.call(this,Re,Ke,ft+"")},n.setProperty=function(Re,Ke,ft){a.call(this,Re,Ke+"",ft)}}g.ascending=s;function s(de,Re){return deRe?1:de>=Re?0:NaN}g.descending=function(de,Re){return Rede?1:Re>=de?0:NaN},g.min=function(de,Re){var Ke=-1,ft=de.length,dt,xt;if(arguments.length===1){for(;++Ke=xt){dt=xt;break}for(;++Kext&&(dt=xt)}else{for(;++Ke=xt){dt=xt;break}for(;++Kext&&(dt=xt)}return dt},g.max=function(de,Re){var Ke=-1,ft=de.length,dt,xt;if(arguments.length===1){for(;++Ke=xt){dt=xt;break}for(;++Kedt&&(dt=xt)}else{for(;++Ke=xt){dt=xt;break}for(;++Kedt&&(dt=xt)}return dt},g.extent=function(de,Re){var Ke=-1,ft=de.length,dt,xt,Jt;if(arguments.length===1){for(;++Ke=xt){dt=Jt=xt;break}for(;++Kext&&(dt=xt),Jt=xt){dt=Jt=xt;break}for(;++Kext&&(dt=xt),Jt1)return Jt/(sr-1)},g.deviation=function(){var de=g.variance.apply(this,arguments);return de&&Math.sqrt(de)};function p(de){return{left:function(Re,Ke,ft,dt){for(arguments.length<3&&(ft=0),arguments.length<4&&(dt=Re.length);ft>>1;de(Re[xt],Ke)<0?ft=xt+1:dt=xt}return ft},right:function(Re,Ke,ft,dt){for(arguments.length<3&&(ft=0),arguments.length<4&&(dt=Re.length);ft>>1;de(Re[xt],Ke)>0?dt=xt:ft=xt+1}return ft}}}var d=p(s);g.bisectLeft=d.left,g.bisect=g.bisectRight=d.right,g.bisector=function(de){return p(de.length===1?function(Re,Ke){return s(de(Re),Ke)}:de)},g.shuffle=function(de,Re,Ke){(ft=arguments.length)<3&&(Ke=de.length,ft<2&&(Re=0));for(var ft=Ke-Re,dt,xt;ft;)xt=Math.random()*ft--|0,dt=de[ft+Re],de[ft+Re]=de[xt+Re],de[xt+Re]=dt;return de},g.permute=function(de,Re){for(var Ke=Re.length,ft=new Array(Ke);Ke--;)ft[Ke]=de[Re[Ke]];return ft},g.pairs=function(de){for(var Re=0,Ke=de.length-1,ft,dt=de[0],xt=new Array(Ke<0?0:Ke);Re=0;)for(Jt=de[Re],Ke=Jt.length;--Ke>=0;)xt[--dt]=Jt[Ke];return xt};var l=Math.abs;g.range=function(de,Re,Ke){if(arguments.length<3&&(Ke=1,arguments.length<2&&(Re=de,de=0)),(Re-de)/Ke===1/0)throw new Error("infinite range");var ft=[],dt=_(l(Ke)),xt=-1,Jt;if(de*=dt,Re*=dt,Ke*=dt,Ke<0)for(;(Jt=de+Ke*++xt)>Re;)ft.push(Jt/dt);else for(;(Jt=de+Ke*++xt)=Re.length)return dt?dt.call(de,sr):ft?sr.sort(ft):sr;for(var Or=-1,bi=sr.length,gi=Re[zr++],Ki,rn,Si,Ui=new M,Xi;++Or=Re.length)return It;var zr=[],Or=Ke[sr++];return It.forEach(function(bi,gi){zr.push({key:bi,values:Jt(gi,sr)})}),Or?zr.sort(function(bi,gi){return Or(bi.key,gi.key)}):zr}return de.map=function(It,sr){return xt(sr,It,0)},de.entries=function(It){return Jt(xt(g.map,It,0),0)},de.key=function(It){return Re.push(It),de},de.sortKeys=function(It){return Ke[Re.length-1]=It,de},de.sortValues=function(It){return ft=It,de},de.rollup=function(It){return dt=It,de},de},g.set=function(de){var Re=new z;if(de)for(var Ke=0,ft=de.length;Ke=0&&(ft=de.slice(Ke+1),de=de.slice(0,Ke)),de)return arguments.length<2?this[de].on(ft):this[de].on(ft,Re);if(arguments.length===2){if(Re==null)for(de in this)this.hasOwnProperty(de)&&this[de].on(ft,null);return this}};function W(de){var Re=[],Ke=new M;function ft(){for(var dt=Re,xt=-1,Jt=dt.length,It;++xt=0&&(Ke=de.slice(0,Re))!=="xmlns"&&(de=de.slice(Re+1)),ce.hasOwnProperty(Ke)?{space:ce[Ke],local:de}:de}},ae.attr=function(de,Re){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node();return de=g.ns.qualify(de),de.local?Ke.getAttributeNS(de.space,de.local):Ke.getAttribute(de)}for(Re in de)this.each(_e(Re,de[Re]));return this}return this.each(_e(de,Re))};function _e(de,Re){de=g.ns.qualify(de);function Ke(){this.removeAttribute(de)}function ft(){this.removeAttributeNS(de.space,de.local)}function dt(){this.setAttribute(de,Re)}function xt(){this.setAttributeNS(de.space,de.local,Re)}function Jt(){var sr=Re.apply(this,arguments);sr==null?this.removeAttribute(de):this.setAttribute(de,sr)}function It(){var sr=Re.apply(this,arguments);sr==null?this.removeAttributeNS(de.space,de.local):this.setAttributeNS(de.space,de.local,sr)}return Re==null?de.local?ft:Ke:typeof Re=="function"?de.local?It:Jt:de.local?xt:dt}function we(de){return de.trim().replace(/\s+/g," ")}ae.classed=function(de,Re){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node(),ft=(de=Ie(de)).length,dt=-1;if(Re=Ke.classList){for(;++dt=0;)(xt=Ke[ft])&&(dt&&dt!==xt.nextSibling&&dt.parentNode.insertBefore(xt,dt),dt=xt);return this},ae.sort=function(de){de=ze.apply(this,arguments);for(var Re=-1,Ke=this.length;++Re=Re&&(Re=dt+1);!(sr=Jt[Re])&&++Re0&&(de=de.slice(0,dt));var Jt=Bt.get(de);Jt&&(de=Jt,xt=cr);function It(){var Or=this[ft];Or&&(this.removeEventListener(de,Or,Or.$),delete this[ft])}function sr(){var Or=xt(Re,A(arguments));It.call(this),this.addEventListener(de,this[ft]=Or,Or.$=Ke),Or._=Re}function zr(){var Or=new RegExp("^__on([^.]+)"+g.requote(de)+"$"),bi;for(var gi in this)if(bi=gi.match(Or)){var Ki=this[gi];this.removeEventListener(bi[1],Ki,Ki.$),delete this[gi]}}return dt?Re?sr:It:Re?N:zr}var Bt=g.map({mouseenter:"mouseover",mouseleave:"mouseout"});S&&Bt.forEach(function(de){"on"+de in S&&Bt.remove(de)});function jt(de,Re){return function(Ke){var ft=g.event;g.event=Ke,Re[0]=this.__data__;try{de.apply(this,Re)}finally{g.event=ft}}}function cr(de,Re){var Ke=jt(de,Re);return function(ft){var dt=this,xt=ft.relatedTarget;(!xt||xt!==dt&&!(xt.compareDocumentPosition(dt)&8))&&Ke.call(dt,ft)}}var nr,Lr=0;function mr(de){var Re=".dragsuppress-"+ ++Lr,Ke="click"+Re,ft=g.select(t(de)).on("touchmove"+Re,Q).on("dragstart"+Re,Q).on("selectstart"+Re,Q);if(nr==null&&(nr="onselectstart"in de?!1:B(de.style,"userSelect")),nr){var dt=e(de).style,xt=dt[nr];dt[nr]="none"}return function(Jt){if(ft.on(Re,null),nr&&(dt[nr]=xt),Jt){var It=function(){ft.on(Ke,null)};ft.on(Ke,function(){Q(),It()},!0),setTimeout(It,0)}}}g.mouse=function(de){return mt(de,le())};var xr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function mt(de,Re){Re.changedTouches&&(Re=Re.changedTouches[0]);var Ke=de.ownerSVGElement||de;if(Ke.createSVGPoint){var ft=Ke.createSVGPoint();if(xr<0){var dt=t(de);if(dt.scrollX||dt.scrollY){Ke=g.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var xt=Ke[0][0].getScreenCTM();xr=!(xt.f||xt.e),Ke.remove()}}return xr?(ft.x=Re.pageX,ft.y=Re.pageY):(ft.x=Re.clientX,ft.y=Re.clientY),ft=ft.matrixTransform(de.getScreenCTM().inverse()),[ft.x,ft.y]}var Jt=de.getBoundingClientRect();return[Re.clientX-Jt.left-de.clientLeft,Re.clientY-Jt.top-de.clientTop]}g.touch=function(de,Re,Ke){if(arguments.length<3&&(Ke=Re,Re=le().changedTouches),Re){for(var ft=0,dt=Re.length,xt;ft0?1:de<0?-1:0}function yt(de,Re,Ke){return(Re[0]-de[0])*(Ke[1]-de[1])-(Re[1]-de[1])*(Ke[0]-de[0])}function Pt(de){return de>1?0:de<-1?Se:Math.acos(de)}function Ot(de){return de>1?be:de<-1?-be:Math.asin(de)}function Wt(de){return((de=Math.exp(de))-1/de)/2}function $t(de){return((de=Math.exp(de))+1/de)/2}function lr(de){return((de=Math.exp(2*de))-1)/(de+1)}function fi(de){return(de=Math.sin(de/2))*de}var Pi=Math.SQRT2,Bi=2,zi=4;g.interpolateZoom=function(de,Re){var Ke=de[0],ft=de[1],dt=de[2],xt=Re[0],Jt=Re[1],It=Re[2],sr=xt-Ke,zr=Jt-ft,Or=sr*sr+zr*zr,bi,gi;if(Or0&&(oa=oa.transition().duration(Jt)),oa.call(nn.event)}function ro(){Ui&&Ui.domain(Si.range().map(function(oa){return(oa-de.x)/de.k}).map(Si.invert)),ln&&ln.domain(Xi.range().map(function(oa){return(oa-de.y)/de.k}).map(Xi.invert))}function ao(oa){It++||oa({type:"zoomstart"})}function is(oa){ro(),oa({type:"zoom",scale:de.k,translate:[de.x,de.y]})}function lo(oa){--It||(oa({type:"zoomend"}),Ke=null)}function ts(){var oa=this,wo=rn.of(oa,arguments),ws=0,Cs=g.select(t(oa)).on(zr,xu).on(Or,Ul),Al=ji(g.mouse(oa)),Gl=mr(oa);ja.call(oa),ao(wo);function xu(){ws=1,ga(g.mouse(oa),Al),is(wo)}function Ul(){Cs.on(zr,null).on(Or,null),Gl(ws),lo(wo)}}function ul(){var oa=this,wo=rn.of(oa,arguments),ws={},Cs=0,Al,Gl=".zoom-"+g.event.changedTouches[0].identifier,xu="touchmove"+Gl,Ul="touchend"+Gl,_c=[],er=g.select(oa),oi=mr(oa);mn(),ao(wo),er.on(sr,null).on(gi,mn);function Li(){var Dn=g.touches(oa);return Al=de.k,Dn.forEach(function(Jn){Jn.identifier in ws&&(ws[Jn.identifier]=ji(Jn))}),Dn}function mn(){var Dn=g.event.target;g.select(Dn).on(xu,Fn).on(Ul,Rn),_c.push(Dn);for(var Jn=g.event.changedTouches,Sa=0,Ea=Jn.length;Sa1){var wa=ca[0],Ta=ca[1],ea=wa[0]-Ta[0],_n=wa[1]-Ta[1];Cs=ea*ea+_n*_n}}function Fn(){var Dn=g.touches(oa),Jn,Sa,Ea,ca;ja.call(oa);for(var $o=0,wa=Dn.length;$o1?1:Re,Ke=Ke<0?0:Ke>1?1:Ke,dt=Ke<=.5?Ke*(1+Re):Ke+Re-Ke*Re,ft=2*Ke-dt;function xt(It){return It>360?It-=360:It<0&&(It+=360),It<60?ft+(dt-ft)*It/60:It<180?dt:It<240?ft+(dt-ft)*(240-It)/60:ft}function Jt(It){return Math.round(xt(It)*255)}return new wr(Jt(de+120),Jt(de),Jt(de-120))}g.hcl=Ut;function Ut(de,Re,Ke){return this instanceof Ut?(this.h=+de,this.c=+Re,void(this.l=+Ke)):arguments.length<2?de instanceof Ut?new Ut(de.h,de.c,de.l):de instanceof _i?vt(de.l,de.a,de.b):vt((de=mi((de=g.rgb(de)).r,de.g,de.b)).l,de.a,de.b):new Ut(de,Re,Ke)}var br=Ut.prototype=new vn;br.brighter=function(de){return new Ut(this.h,this.c,Math.min(100,this.l+Yr*(arguments.length?de:1)))},br.darker=function(de){return new Ut(this.h,this.c,Math.max(0,this.l-Yr*(arguments.length?de:1)))},br.rgb=function(){return Zr(this.h,this.c,this.l).rgb()};function Zr(de,Re,Ke){return isNaN(de)&&(de=0),isNaN(Re)&&(Re=0),new _i(Ke,Math.cos(de*=Ce)*Re,Math.sin(de)*Re)}g.lab=_i;function _i(de,Re,Ke){return this instanceof _i?(this.l=+de,this.a=+Re,void(this.b=+Ke)):arguments.length<2?de instanceof _i?new _i(de.l,de.a,de.b):de instanceof Ut?Zr(de.h,de.c,de.l):mi((de=wr(de)).r,de.g,de.b):new _i(de,Re,Ke)}var Yr=18,Di=.95047,qi=1,$i=1.08883,Mi=_i.prototype=new vn;Mi.brighter=function(de){return new _i(Math.min(100,this.l+Yr*(arguments.length?de:1)),this.a,this.b)},Mi.darker=function(de){return new _i(Math.max(0,this.l-Yr*(arguments.length?de:1)),this.a,this.b)},Mi.rgb=function(){return sn(this.l,this.a,this.b)};function sn(de,Re,Ke){var ft=(de+16)/116,dt=ft+Re/500,xt=ft-Ke/200;return dt=pt(dt)*Di,ft=pt(ft)*qi,xt=pt(xt)*$i,new wr(Cr(3.2404542*dt-1.5371385*ft-.4985314*xt),Cr(-.969266*dt+1.8760108*ft+.041556*xt),Cr(.0556434*dt-.2040259*ft+1.0572252*xt))}function vt(de,Re,Ke){return de>0?new Ut(Math.atan2(Ke,Re)*et,Math.sqrt(Re*Re+Ke*Ke),de):new Ut(NaN,NaN,de)}function pt(de){return de>.206893034?de*de*de:(de-4/29)/7.787037}function kr(de){return de>.008856?Math.pow(de,1/3):7.787037*de+4/29}function Cr(de){return Math.round(255*(de<=.00304?12.92*de:1.055*Math.pow(de,1/2.4)-.055))}g.rgb=wr;function wr(de,Re,Ke){return this instanceof wr?(this.r=~~de,this.g=~~Re,void(this.b=~~Ke)):arguments.length<2?de instanceof wr?new wr(de.r,de.g,de.b):Qr(""+de,wr,qt):new wr(de,Re,Ke)}function Ar(de){return new wr(de>>16,de>>8&255,de&255)}function Er(de){return Ar(de)+""}var Br=wr.prototype=new vn;Br.brighter=function(de){de=Math.pow(.7,arguments.length?de:1);var Re=this.r,Ke=this.g,ft=this.b,dt=30;return!Re&&!Ke&&!ft?new wr(dt,dt,dt):(Re&&Re>4,ft=ft>>4|ft,dt=sr&240,dt=dt>>4|dt,xt=sr&15,xt=xt<<4|xt):de.length===7&&(ft=(sr&16711680)>>16,dt=(sr&65280)>>8,xt=sr&255)),Re(ft,dt,xt))}function ci(de,Re,Ke){var ft=Math.min(de/=255,Re/=255,Ke/=255),dt=Math.max(de,Re,Ke),xt=dt-ft,Jt,It,sr=(dt+ft)/2;return xt?(It=sr<.5?xt/(dt+ft):xt/(2-dt-ft),de==dt?Jt=(Re-Ke)/xt+(Re0&&sr<1?0:Jt),new Xt(Jt,It,sr)}function mi(de,Re,Ke){de=Et(de),Re=Et(Re),Ke=Et(Ke);var ft=kr((.4124564*de+.3575761*Re+.1804375*Ke)/Di),dt=kr((.2126729*de+.7151522*Re+.072175*Ke)/qi),xt=kr((.0193339*de+.119192*Re+.9503041*Ke)/$i);return _i(116*dt-16,500*(ft-dt),200*(dt-xt))}function Et(de){return(de/=255)<=.04045?de/12.92:Math.pow((de+.055)/1.055,2.4)}function ar(de){var Re=parseFloat(de);return de.charAt(de.length-1)==="%"?Math.round(Re*2.55):Re}var gr=g.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});gr.forEach(function(de,Re){gr.set(de,Ar(Re))});function ti(de){return typeof de=="function"?de:function(){return de}}g.functor=ti,g.xhr=wi(F);function wi(de){return function(Re,Ke,ft){return arguments.length===2&&typeof Ke=="function"&&(ft=Ke,Ke=null),Gi(Re,Ke,de,ft)}}function Gi(de,Re,Ke,ft){var dt={},xt=g.dispatch("beforesend","progress","load","error"),Jt={},It=new XMLHttpRequest,sr=null;self.XDomainRequest&&!("withCredentials"in It)&&/^(http(s)?:)?\/\//.test(de)&&(It=new XDomainRequest),"onload"in It?It.onload=It.onerror=zr:It.onreadystatechange=function(){It.readyState>3&&zr()};function zr(){var Or=It.status,bi;if(!Or&&xi(It)||Or>=200&&Or<300||Or===304){try{bi=Ke.call(dt,It)}catch(gi){xt.error.call(dt,gi);return}xt.load.call(dt,bi)}else xt.error.call(dt,It)}return It.onprogress=function(Or){var bi=g.event;g.event=Or;try{xt.progress.call(dt,It)}finally{g.event=bi}},dt.header=function(Or,bi){return Or=(Or+"").toLowerCase(),arguments.length<2?Jt[Or]:(bi==null?delete Jt[Or]:Jt[Or]=bi+"",dt)},dt.mimeType=function(Or){return arguments.length?(Re=Or==null?null:Or+"",dt):Re},dt.responseType=function(Or){return arguments.length?(sr=Or,dt):sr},dt.response=function(Or){return Ke=Or,dt},["get","post"].forEach(function(Or){dt[Or]=function(){return dt.send.apply(dt,[Or].concat(A(arguments)))}}),dt.send=function(Or,bi,gi){if(arguments.length===2&&typeof bi=="function"&&(gi=bi,bi=null),It.open(Or,de,!0),Re!=null&&!("accept"in Jt)&&(Jt.accept=Re+",*/*"),It.setRequestHeader)for(var Ki in Jt)It.setRequestHeader(Ki,Jt[Ki]);return Re!=null&&It.overrideMimeType&&It.overrideMimeType(Re),sr!=null&&(It.responseType=sr),gi!=null&&dt.on("error",gi).on("load",function(rn){gi(null,rn)}),xt.beforesend.call(dt,It),It.send(bi??null),dt},dt.abort=function(){return It.abort(),dt},g.rebind(dt,xt,"on"),ft==null?dt:dt.get(Fi(ft))}function Fi(de){return de.length===1?function(Re,Ke){de(Re==null?Ke:null)}:de}function xi(de){var Re=de.responseType;return Re&&Re!=="text"?de.response:de.responseText}g.dsv=function(de,Re){var Ke=new RegExp('["'+de+`
+var SB=Object.create;var kS=Object.defineProperty;var EB=Object.getOwnPropertyDescriptor;var kB=Object.getOwnPropertyNames;var CB=Object.getPrototypeOf,LB=Object.prototype.hasOwnProperty;var Aw=(Ft,Ae)=>()=>(Ae||Ft((Ae={exports:{}}).exports,Ae),Ae.exports);var PB=(Ft,Ae,wt,At)=>{if(Ae&&typeof Ae=="object"||typeof Ae=="function")for(let Vt of kB(Ae))!LB.call(Ft,Vt)&&Vt!==wt&&kS(Ft,Vt,{get:()=>Ae[Vt],enumerable:!(At=EB(Ae,Vt))||At.enumerable});return Ft};var Jv=(Ft,Ae,wt)=>(wt=Ft!=null?SB(CB(Ft)):{},PB(Ae||!Ft||!Ft.__esModule?kS(wt,"default",{value:Ft,enumerable:!0}):wt,Ft));var Lm=Aw((t_,CS)=>{(function(Ft,Ae){typeof t_=="object"&&typeof CS<"u"?Ae(t_):typeof define=="function"&&define.amd?define(["exports"],Ae):(Ft=typeof globalThis<"u"?globalThis:Ft||self,Ae(Ft.lumino_algorithm={}))})(t_,function(Ft){"use strict";Ft.ArrayExt=void 0,function(Xn){function zn(no,Ro,Qn=0,ta=-1){let ua=no.length;if(ua===0)return-1;Qn<0?Qn=Math.max(0,Qn+ua):Qn=Math.min(Qn,ua-1),ta<0?ta=Math.max(0,ta+ua):ta=Math.min(ta,ua-1);let jo;ta0;){let wd=cc>>1,Np=ms+wd;Qn(no[Np],Ro)<0?(ms=Np+1,cc-=wd+1):cc=wd}return ms}Xn.lowerBound=lu;function uf(no,Ro,Qn,ta=0,ua=-1){let jo=no.length;if(jo===0)return 0;ta<0?ta=Math.max(0,ta+jo):ta=Math.min(ta,jo-1),ua<0?ua=Math.max(0,ua+jo):ua=Math.min(ua,jo-1);let ms=ta,cc=ua-ta+1;for(;cc>0;){let wd=cc>>1,Np=ms+wd;Qn(no[Np],Ro)>0?cc=wd:(ms=Np+1,cc-=wd+1)}return ms}Xn.upperBound=uf;function ju(no,Ro,Qn){if(no===Ro)return!0;if(no.length!==Ro.length)return!1;for(let ta=0,ua=no.length;ta=jo&&(Qn=ua<0?jo-1:jo),ta===void 0?ta=ua<0?-1:jo:ta<0?ta=Math.max(ta+jo,ua<0?-1:0):ta>=jo&&(ta=ua<0?jo-1:jo);let ms;ua<0&&ta>=Qn||ua>0&&Qn>=ta?ms=0:ua<0?ms=Math.floor((ta-Qn+1)/ua+1):ms=Math.floor((ta-Qn-1)/ua+1);let cc=[];for(let wd=0;wd=ta))return;let jo=ta-Qn+1;if(Ro>0?Ro=Ro%jo:Ro<0&&(Ro=(Ro%jo+jo)%jo),Ro===0)return;let ms=Qn+Ro;Vl(no,Qn,ms-1),Vl(no,ms,ta),Vl(no,Qn,ta)}Xn.rotate=ho;function bl(no,Ro,Qn=0,ta=-1){let ua=no.length;if(ua===0)return;Qn<0?Qn=Math.max(0,Qn+ua):Qn=Math.min(Qn,ua-1),ta<0?ta=Math.max(0,ta+ua):ta=Math.min(ta,ua-1);let jo;taRo;--ua)no[ua]=no[ua-1];no[Ro]=Qn}Xn.insert=Bm;function Pd(no,Ro){let Qn=no.length;if(Ro<0&&(Ro+=Qn),Ro<0||Ro>=Qn)return;let ta=no[Ro];for(let ua=Ro+1;ua=Qn&&ms<=ta&&no[ms]===Ro||ta=Qn)&&no[ms]===Ro?jo++:jo>0&&(no[ms-jo]=no[ms]);return jo>0&&(no.length=ua-jo),jo}Xn.removeAllOf=lp;function gf(no,Ro,Qn=0,ta=-1){let ua,jo=Ao(no,Ro,Qn,ta);return jo!==-1&&(ua=Pd(no,jo)),{index:jo,value:ua}}Xn.removeFirstWhere=gf;function $a(no,Ro,Qn=-1,ta=0){let ua,jo=$s(no,Ro,Qn,ta);return jo!==-1&&(ua=Pd(no,jo)),{index:jo,value:ua}}Xn.removeLastWhere=$a;function Iv(no,Ro,Qn=0,ta=-1){let ua=no.length;if(ua===0)return 0;Qn<0?Qn=Math.max(0,Qn+ua):Qn=Math.min(Qn,ua-1),ta<0?ta=Math.max(0,ta+ua):ta=Math.min(ta,ua-1);let jo=0;for(let ms=0;ms=Qn&&ms<=ta&&Ro(no[ms],ms)||ta=Qn)&&Ro(no[ms],ms)?jo++:jo>0&&(no[ms-jo]=no[ms]);return jo>0&&(no.length=ua-jo),jo}Xn.removeAllWhere=Iv}(Ft.ArrayExt||(Ft.ArrayExt={}));function*Ae(...Xn){for(let zn of Xn)yield*zn}function*wt(){}function*At(Xn,zn=0){for(let $n of Xn)yield[zn++,$n]}function*Vt(Xn,zn){let $n=0;for(let Ao of Xn)zn(Ao,$n++)&&(yield Ao)}function rr(Xn,zn){let $n=0;for(let Ao of Xn)if(zn(Ao,$n++))return Ao}function hi(Xn,zn){let $n=0;for(let Ao of Xn)if(zn(Ao,$n++))return $n-1;return-1}function Xr(Xn,zn){let $n;for(let Ao of Xn){if($n===void 0){$n=Ao;continue}zn(Ao,$n)<0&&($n=Ao)}return $n}function ai(Xn,zn){let $n;for(let Ao of Xn){if($n===void 0){$n=Ao;continue}zn(Ao,$n)>0&&($n=Ao)}return $n}function Ti(Xn,zn){let $n=!0,Ao,$s;for(let cl of Xn)$n?(Ao=cl,$s=cl,$n=!1):zn(cl,Ao)<0?Ao=cl:zn(cl,$s)>0&&($s=cl);return $n?void 0:[Ao,$s]}function ei(Xn){return Array.from(Xn)}function di(Xn){let zn={};for(let[$n,Ao]of Xn)zn[$n]=Ao;return zn}function Ei(Xn,zn){let $n=0;for(let Ao of Xn)if(zn(Ao,$n++)===!1)return}function pi(Xn,zn){let $n=0;for(let Ao of Xn)if(zn(Ao,$n++)===!1)return!1;return!0}function Jr(Xn,zn){let $n=0;for(let Ao of Xn)if(zn(Ao,$n++))return!0;return!1}function*Le(Xn,zn){let $n=0;for(let Ao of Xn)yield zn(Ao,$n++)}function*Qi(Xn,zn,$n){zn===void 0?(zn=Xn,Xn=0,$n=1):$n===void 0&&($n=1);let Ao=En.rangeLength(Xn,zn,$n);for(let $s=0;$sAo&&$s>0||$n-1;zn--)yield Xn[zn]}function Ji(Xn){let zn=[],$n=new Set,Ao=new Map;for(let jl of Xn)$s(jl);for(let[jl]of Ao)cl(jl);return zn;function $s(jl){let[lu,uf]=jl,ju=Ao.get(uf);ju?ju.push(lu):Ao.set(uf,[lu])}function cl(jl){if($n.has(jl))return;$n.add(jl);let lu=Ao.get(jl);if(lu)for(let uf of lu)cl(uf);zn.push(jl)}}function*za(Xn,zn){let $n=0;for(let Ao of Xn)$n++%zn===0&&(yield Ao)}Ft.StringExt=void 0,function(Xn){function zn(jl,lu,uf=0){let ju=new Array(lu.length);for(let Tc=0,Vu=uf,Vl=lu.length;Tclu?1:0}Xn.cmp=cl}(Ft.StringExt||(Ft.StringExt={}));function*Ia(Xn,zn){if(zn<1)return;let $n=Xn[Symbol.iterator](),Ao;for(;0Ao[Symbol.iterator]()),$n=zn.map(Ao=>Ao.next());for(;pi($n,Ao=>!Ao.done);$n=zn.map(Ao=>Ao.next()))yield $n.map(Ao=>Ao.value)}Ft.chain=Ae,Ft.each=Ei,Ft.empty=wt,Ft.enumerate=At,Ft.every=pi,Ft.filter=Vt,Ft.find=rr,Ft.findIndex=hi,Ft.map=Le,Ft.max=ai,Ft.min=Xr,Ft.minmax=Ti,Ft.once=gn,Ft.range=Qi,Ft.reduce=wn,Ft.repeat=Wi,Ft.retro=Sn,Ft.some=Jr,Ft.stride=za,Ft.take=Ia,Ft.toArray=ei,Ft.toObject=di,Ft.topologicSort=Ji,Ft.zip=To})});var i_=Aw((r_,LS)=>{(function(Ft,Ae){typeof r_=="object"&&typeof LS<"u"?Ae(r_,Lm()):typeof define=="function"&&define.amd?define(["exports","@lumino/algorithm"],Ae):(Ft=typeof globalThis<"u"?globalThis:Ft||self,Ae(Ft.lumino_coreutils={},Ft.lumino_algorithm))})(r_,function(Ft,Ae){"use strict";Ft.JSONExt=void 0,function(Ti){Ti.emptyObject=Object.freeze({}),Ti.emptyArray=Object.freeze([]);function ei(Wi){return Wi===null||typeof Wi=="boolean"||typeof Wi=="number"||typeof Wi=="string"}Ti.isPrimitive=ei;function di(Wi){return Array.isArray(Wi)}Ti.isArray=di;function Ei(Wi){return!ei(Wi)&&!di(Wi)}Ti.isObject=Ei;function pi(Wi,gn){if(Wi===gn)return!0;if(ei(Wi)||ei(gn))return!1;let Sn=di(Wi),Ji=di(gn);return Sn!==Ji?!1:Sn&&Ji?Le(Wi,gn):Qi(Wi,gn)}Ti.deepEqual=pi;function Jr(Wi){return ei(Wi)?Wi:di(Wi)?En(Wi):wn(Wi)}Ti.deepCopy=Jr;function Le(Wi,gn){if(Wi===gn)return!0;if(Wi.length!==gn.length)return!1;for(let Sn=0,Ji=Wi.length;Sn!0,this._plugins=new Map,this._services=new Map,ei.validatePlugin&&(console.info("Plugins may be rejected by the custom validation plugin method."),this._validatePlugin=ei.validatePlugin)}get application(){return this._application}set application(ei){if(this._application!==null)throw Error("PluginRegistry.application is already set. It cannot be overridden.");this._application=ei}get deferredPlugins(){return Array.from(this._plugins).filter(([ei,di])=>di.autoStart==="defer").map(([ei,di])=>ei)}getPluginDescription(ei){var di,Ei;return(Ei=(di=this._plugins.get(ei))===null||di===void 0?void 0:di.description)!==null&&Ei!==void 0?Ei:""}hasPlugin(ei){return this._plugins.has(ei)}isPluginActivated(ei){var di,Ei;return(Ei=(di=this._plugins.get(ei))===null||di===void 0?void 0:di.activated)!==null&&Ei!==void 0?Ei:!1}listPlugins(){return Array.from(this._plugins.keys())}registerPlugin(ei){if(this._plugins.has(ei.id))throw new TypeError(`Plugin '${ei.id}' is already registered.`);if(!this._validatePlugin(ei))throw new Error(`Plugin '${ei.id}' is not valid.`);let di=Vt.createPluginData(ei);Vt.ensureNoCycle(di,this._plugins,this._services),di.provides&&this._services.set(di.provides,di.id),this._plugins.set(di.id,di)}registerPlugins(ei){for(let di of ei)this.registerPlugin(di)}deregisterPlugin(ei,di){let Ei=this._plugins.get(ei);if(Ei){if(Ei.activated&&!di)throw new Error(`Plugin '${ei}' is still active.`);this._plugins.delete(ei)}}async activatePlugin(ei){let di=this._plugins.get(ei);if(!di)throw new ReferenceError(`Plugin '${ei}' is not registered.`);if(di.activated)return;if(di.promise)return di.promise;let Ei=di.requires.map(Jr=>this.resolveRequiredService(Jr)),pi=di.optional.map(Jr=>this.resolveOptionalService(Jr));return di.promise=Promise.all([...Ei,...pi]).then(Jr=>di.activate.apply(void 0,[this.application,...Jr])).then(Jr=>{di.service=Jr,di.activated=!0,di.promise=null}).catch(Jr=>{throw di.promise=null,Jr}),di.promise}async activatePlugins(ei,di={}){switch(ei){case"defer":{let Ei=this.deferredPlugins.filter(pi=>this._plugins.get(pi).autoStart).map(pi=>this.activatePlugin(pi));await Promise.all(Ei);break}case"startUp":{let pi=Vt.collectStartupPlugins(this._plugins,di).map(async Jr=>{try{return await this.activatePlugin(Jr)}catch(Le){console.error(`Plugin '${Jr}' failed to activate.`,Le)}});await Promise.all(pi);break}}}async deactivatePlugin(ei){let di=this._plugins.get(ei);if(!di)throw new ReferenceError(`Plugin '${ei}' is not registered.`);if(!di.activated)return[];if(!di.deactivate)throw new TypeError(`Plugin '${ei}'#deactivate() method missing`);let Ei=Vt.findDependents(ei,this._plugins,this._services),pi=Ei.map(Jr=>this._plugins.get(Jr));for(let Jr of pi)if(!Jr.deactivate)throw new TypeError(`Plugin ${Jr.id}#deactivate() method missing (depends on ${ei})`);for(let Jr of pi){let Le=[...Jr.requires,...Jr.optional].map(Qi=>{let En=this._services.get(Qi);return En?this._plugins.get(En).service:null});await Jr.deactivate(this.application,...Le),Jr.service=null,Jr.activated=!1}return Ei.pop(),Ei}async resolveRequiredService(ei){let di=this._services.get(ei);if(!di)throw new TypeError(`No provider for: ${ei.name}.`);let Ei=this._plugins.get(di);return Ei.activated||await this.activatePlugin(di),Ei.service}async resolveOptionalService(ei){let di=this._services.get(ei);if(!di)return null;let Ei=this._plugins.get(di);if(!Ei.activated)try{await this.activatePlugin(di)}catch(pi){return console.error(pi),null}return Ei.service}}var Vt;(function(Ti){class ei{constructor(Qi){var En,wn,Wi,gn;this._activated=!1,this._promise=null,this._service=null,this.id=Qi.id,this.description=(En=Qi.description)!==null&&En!==void 0?En:"",this.activate=Qi.activate,this.deactivate=(wn=Qi.deactivate)!==null&&wn!==void 0?wn:null,this.provides=(Wi=Qi.provides)!==null&&Wi!==void 0?Wi:null,this.autoStart=(gn=Qi.autoStart)!==null&&gn!==void 0?gn:!1,this.requires=Qi.requires?Qi.requires.slice():[],this.optional=Qi.optional?Qi.optional.slice():[]}get activated(){return this._activated}set activated(Qi){this._activated=Qi}get service(){return this._service}set service(Qi){this._service=Qi}get promise(){return this._promise}set promise(Qi){this._promise=Qi}}function di(Le){return new ei(Le)}Ti.createPluginData=di;function Ei(Le,Qi,En){let wn=[...Le.requires,...Le.optional],Wi=Sn=>{if(Sn===Le.provides)return!0;let Ji=En.get(Sn);if(!Ji)return!1;let za=Qi.get(Ji),Ia=[...za.requires,...za.optional];return Ia.length===0?!1:(gn.push(Ji),Ia.some(Wi)?!0:(gn.pop(),!1))};if(!Le.provides||wn.length===0)return;let gn=[Le.id];if(wn.some(Wi))throw new ReferenceError(`Cycle detected: ${gn.join(" -> ")}.`)}Ti.ensureNoCycle=Ei;function pi(Le,Qi,En){let wn=new Array,Wi=Ia=>{let To=Qi.get(Ia),Xn=[...To.requires,...To.optional];wn.push(...Xn.reduce((zn,$n)=>{let Ao=En.get($n);return Ao&&zn.push([Ia,Ao]),zn},[]))};for(let Ia of Qi.keys())Wi(Ia);let gn=wn.filter(Ia=>Ia[1]===Le),Sn=0;for(;gn.length>Sn;){let Ia=gn.length,To=new Set(gn.map(Xn=>Xn[0]));for(let Xn of To)wn.filter(zn=>zn[1]===Xn).forEach(zn=>{gn.includes(zn)||gn.push(zn)});Sn=Ia}let Ji=Ae.topologicSort(gn),za=Ji.findIndex(Ia=>Ia===Le);return za===-1?[Le]:Ji.slice(0,za+1)}Ti.findDependents=pi;function Jr(Le,Qi){let En=new Set;for(let wn of Le.keys())Le.get(wn).autoStart===!0&&En.add(wn);if(Qi.startPlugins)for(let wn of Qi.startPlugins)En.add(wn);if(Qi.ignorePlugins)for(let wn of Qi.ignorePlugins)En.delete(wn);return Array.from(En)}Ti.collectStartupPlugins=Jr})(Vt||(Vt={}));class rr{constructor(){this.promise=new Promise((ei,di)=>{this._resolve=ei,this._reject=di})}resolve(ei){let di=this._resolve;di(ei)}reject(ei){let di=this._reject;di(ei)}}class hi{constructor(ei,di){this.name=ei,this.description=di??"",this._tokenStructuralPropertyT=null}}function Xr(Ti){let ei=0;for(let di=0,Ei=Ti.length;di>>0),Ti[di]=ei&255,ei>>>=8}Ft.Random=void 0,function(Ti){Ti.getRandomValues=(()=>{let ei=typeof window<"u"&&(window.crypto||window.msCrypto)||null;return ei&&typeof ei.getRandomValues=="function"?function(Ei){return ei.getRandomValues(Ei)}:Xr})()}(Ft.Random||(Ft.Random={}));function ai(Ti){let ei=new Uint8Array(16),di=new Array(256);for(let Ei=0;Ei<16;++Ei)di[Ei]="0"+Ei.toString(16);for(let Ei=16;Ei<256;++Ei)di[Ei]=Ei.toString(16);return function(){return Ti(ei),ei[6]=64|ei[6]&15,ei[8]=128|ei[8]&63,di[ei[0]]+di[ei[1]]+di[ei[2]]+di[ei[3]]+"-"+di[ei[4]]+di[ei[5]]+"-"+di[ei[6]]+di[ei[7]]+"-"+di[ei[8]]+di[ei[9]]+"-"+di[ei[10]]+di[ei[11]]+di[ei[12]]+di[ei[13]]+di[ei[14]]+di[ei[15]]}}Ft.UUID=void 0,function(Ti){Ti.uuid4=ai(Ft.Random.getRandomValues)}(Ft.UUID||(Ft.UUID={})),Ft.MimeData=wt,Ft.PluginRegistry=At,Ft.PromiseDelegate=rr,Ft.Token=hi})});var NS=Aw((OS,v_)=>{(function(Ft,Ae){typeof v_=="object"&&v_.exports?v_.exports=Ae():Ft.moduleName=Ae()})(typeof self<"u"?self:OS,()=>{"use strict";var Ft=(()=>{var Ae=Object.create,wt=Object.defineProperty,At=Object.defineProperties,Vt=Object.getOwnPropertyDescriptor,rr=Object.getOwnPropertyDescriptors,hi=Object.getOwnPropertyNames,Xr=Object.getOwnPropertySymbols,ai=Object.getPrototypeOf,Ti=Object.prototype.hasOwnProperty,ei=Object.prototype.propertyIsEnumerable,di=(Z,q,p)=>q in Z?wt(Z,q,{enumerable:!0,configurable:!0,writable:!0,value:p}):Z[q]=p,Ei=(Z,q)=>{for(var p in q||(q={}))Ti.call(q,p)&&di(Z,p,q[p]);if(Xr)for(var p of Xr(q))ei.call(q,p)&&di(Z,p,q[p]);return Z},pi=(Z,q)=>At(Z,rr(q)),Jr=(Z,q)=>function(){return Z&&(q=(0,Z[hi(Z)[0]])(Z=0)),q},Le=(Z,q)=>function(){return q||(0,Z[hi(Z)[0]])((q={exports:{}}).exports,q),q.exports},Qi=(Z,q)=>{for(var p in q)wt(Z,p,{get:q[p],enumerable:!0})},En=(Z,q,p,x)=>{if(q&&typeof q=="object"||typeof q=="function")for(let A of hi(q))!Ti.call(Z,A)&&A!==p&&wt(Z,A,{get:()=>q[A],enumerable:!(x=Vt(q,A))||x.enumerable});return Z},wn=(Z,q,p)=>(p=Z!=null?Ae(ai(Z)):{},En(q||!Z||!Z.__esModule?wt(p,"default",{value:Z,enumerable:!0}):p,Z)),Wi=Z=>En(wt({},"__esModule",{value:!0}),Z),gn=Le({"src/version.js"(Z){"use strict";Z.version="3.0.3"}}),Sn=Le({"node_modules/native-promise-only/lib/npo.src.js"(Z,q){(function(x,A,S){A[x]=A[x]||S(),typeof q<"u"&&q.exports&&(q.exports=A[x])})("Promise",typeof window<"u"?window:Z,function(){"use strict";var x,A,S,e=Object.prototype.toString,t=typeof setImmediate<"u"?function(_){return setImmediate(_)}:setTimeout;try{Object.defineProperty({},"x",{}),x=function(_,w,M,E){return Object.defineProperty(_,w,{value:M,writable:!0,configurable:E!==!1})}}catch{x=function(w,M,E){return w[M]=E,w}}S=function(){var _,w,M;function E(g,b){this.fn=g,this.self=b,this.next=void 0}return{add:function(b,v){M=new E(b,v),w?w.next=M:_=M,w=M,M=void 0},drain:function(){var b=_;for(_=w=A=void 0;b;)b.fn.call(b.self),b=b.next}}}();function r(l,_){S.add(l,_),A||(A=t(S.drain))}function o(l){var _,w=typeof l;return l!=null&&(w=="object"||w=="function")&&(_=l.then),typeof _=="function"?_:!1}function i(){for(var l=0;l0&&r(i,w))}catch(M){s.call(new h(w),M)}}}function s(l){var _=this;_.triggered||(_.triggered=!0,_.def&&(_=_.def),_.msg=l,_.state=2,_.chain.length>0&&r(i,_))}function c(l,_,w,M){for(var E=0;E<_.length;E++)(function(b){l.resolve(_[b]).then(function(u){w(b,u)},M)})(E)}function h(l){this.def=l,this.triggered=!1}function m(l){this.promise=l,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function d(l){if(typeof l!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var _=new m(this);this.then=function(M,E){var g={success:typeof M=="function"?M:!0,failure:typeof E=="function"?E:!1};return g.promise=new this.constructor(function(v,u){if(typeof v!="function"||typeof u!="function")throw TypeError("Not a function");g.resolve=v,g.reject=u}),_.chain.push(g),_.state!==0&&r(i,_),g.promise},this.catch=function(M){return this.then(void 0,M)};try{l.call(void 0,function(M){a.call(_,M)},function(M){s.call(_,M)})}catch(w){s.call(_,w)}}var T=x({},"constructor",d,!1);return d.prototype=T,x(T,"__NPO__",0,!1),x(d,"resolve",function(_){var w=this;return _&&typeof _=="object"&&_.__NPO__===1?_:new w(function(E,g){if(typeof E!="function"||typeof g!="function")throw TypeError("Not a function");E(_)})}),x(d,"reject",function(_){return new this(function(M,E){if(typeof M!="function"||typeof E!="function")throw TypeError("Not a function");E(_)})}),x(d,"all",function(_){var w=this;return e.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):_.length===0?w.resolve([]):new w(function(E,g){if(typeof E!="function"||typeof g!="function")throw TypeError("Not a function");var b=_.length,v=Array(b),u=0;c(w,_,function(f,P){v[f]=P,++u===b&&E(v)},g)})}),x(d,"race",function(_){var w=this;return e.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):new w(function(E,g){if(typeof E!="function"||typeof g!="function")throw TypeError("Not a function");c(w,_,function(v,u){E(u)},g)})}),d})}}),Ji=Le({"node_modules/@plotly/d3/d3.js"(Z,q){(function(){var p={version:"3.8.2"},x=[].slice,A=function(de){return x.call(de)},S=self.document;function e(de){return de&&(de.ownerDocument||de.document||de).documentElement}function t(de){return de&&(de.ownerDocument&&de.ownerDocument.defaultView||de.document&&de||de.defaultView)}if(S)try{A(S.documentElement.childNodes)[0].nodeType}catch{A=function(Re){for(var Ke=Re.length,ft=new Array(Ke);Ke--;)ft[Ke]=Re[Ke];return ft}}if(Date.now||(Date.now=function(){return+new Date}),S)try{S.createElement("DIV").style.setProperty("opacity",0,"")}catch{var r=this.Element.prototype,o=r.setAttribute,i=r.setAttributeNS,n=this.CSSStyleDeclaration.prototype,a=n.setProperty;r.setAttribute=function(Re,Ke){o.call(this,Re,Ke+"")},r.setAttributeNS=function(Re,Ke,ft){i.call(this,Re,Ke,ft+"")},n.setProperty=function(Re,Ke,ft){a.call(this,Re,Ke+"",ft)}}p.ascending=s;function s(de,Re){return deRe?1:de>=Re?0:NaN}p.descending=function(de,Re){return Rede?1:Re>=de?0:NaN},p.min=function(de,Re){var Ke=-1,ft=de.length,dt,xt;if(arguments.length===1){for(;++Ke=xt){dt=xt;break}for(;++Kext&&(dt=xt)}else{for(;++Ke=xt){dt=xt;break}for(;++Kext&&(dt=xt)}return dt},p.max=function(de,Re){var Ke=-1,ft=de.length,dt,xt;if(arguments.length===1){for(;++Ke=xt){dt=xt;break}for(;++Kedt&&(dt=xt)}else{for(;++Ke=xt){dt=xt;break}for(;++Kedt&&(dt=xt)}return dt},p.extent=function(de,Re){var Ke=-1,ft=de.length,dt,xt,Jt;if(arguments.length===1){for(;++Ke=xt){dt=Jt=xt;break}for(;++Kext&&(dt=xt),Jt=xt){dt=Jt=xt;break}for(;++Kext&&(dt=xt),Jt1)return Jt/(sr-1)},p.deviation=function(){var de=p.variance.apply(this,arguments);return de&&Math.sqrt(de)};function m(de){return{left:function(Re,Ke,ft,dt){for(arguments.length<3&&(ft=0),arguments.length<4&&(dt=Re.length);ft>>1;de(Re[xt],Ke)<0?ft=xt+1:dt=xt}return ft},right:function(Re,Ke,ft,dt){for(arguments.length<3&&(ft=0),arguments.length<4&&(dt=Re.length);ft>>1;de(Re[xt],Ke)>0?dt=xt:ft=xt+1}return ft}}}var d=m(s);p.bisectLeft=d.left,p.bisect=p.bisectRight=d.right,p.bisector=function(de){return m(de.length===1?function(Re,Ke){return s(de(Re),Ke)}:de)},p.shuffle=function(de,Re,Ke){(ft=arguments.length)<3&&(Ke=de.length,ft<2&&(Re=0));for(var ft=Ke-Re,dt,xt;ft;)xt=Math.random()*ft--|0,dt=de[ft+Re],de[ft+Re]=de[xt+Re],de[xt+Re]=dt;return de},p.permute=function(de,Re){for(var Ke=Re.length,ft=new Array(Ke);Ke--;)ft[Ke]=de[Re[Ke]];return ft},p.pairs=function(de){for(var Re=0,Ke=de.length-1,ft,dt=de[0],xt=new Array(Ke<0?0:Ke);Re=0;)for(Jt=de[Re],Ke=Jt.length;--Ke>=0;)xt[--dt]=Jt[Ke];return xt};var l=Math.abs;p.range=function(de,Re,Ke){if(arguments.length<3&&(Ke=1,arguments.length<2&&(Re=de,de=0)),(Re-de)/Ke===1/0)throw new Error("infinite range");var ft=[],dt=_(l(Ke)),xt=-1,Jt;if(de*=dt,Re*=dt,Ke*=dt,Ke<0)for(;(Jt=de+Ke*++xt)>Re;)ft.push(Jt/dt);else for(;(Jt=de+Ke*++xt)=Re.length)return dt?dt.call(de,sr):ft?sr.sort(ft):sr;for(var Or=-1,bi=sr.length,gi=Re[zr++],Ki,rn,Si,Ui=new M,Xi;++Or=Re.length)return It;var zr=[],Or=Ke[sr++];return It.forEach(function(bi,gi){zr.push({key:bi,values:Jt(gi,sr)})}),Or?zr.sort(function(bi,gi){return Or(bi.key,gi.key)}):zr}return de.map=function(It,sr){return xt(sr,It,0)},de.entries=function(It){return Jt(xt(p.map,It,0),0)},de.key=function(It){return Re.push(It),de},de.sortKeys=function(It){return Ke[Re.length-1]=It,de},de.sortValues=function(It){return ft=It,de},de.rollup=function(It){return dt=It,de},de},p.set=function(de){var Re=new z;if(de)for(var Ke=0,ft=de.length;Ke=0&&(ft=de.slice(Ke+1),de=de.slice(0,Ke)),de)return arguments.length<2?this[de].on(ft):this[de].on(ft,Re);if(arguments.length===2){if(Re==null)for(de in this)this.hasOwnProperty(de)&&this[de].on(ft,null);return this}};function W(de){var Re=[],Ke=new M;function ft(){for(var dt=Re,xt=-1,Jt=dt.length,It;++xt=0&&(Ke=de.slice(0,Re))!=="xmlns"&&(de=de.slice(Re+1)),ue.hasOwnProperty(Ke)?{space:ue[Ke],local:de}:de}},ne.attr=function(de,Re){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node();return de=p.ns.qualify(de),de.local?Ke.getAttributeNS(de.space,de.local):Ke.getAttribute(de)}for(Re in de)this.each(_e(Re,de[Re]));return this}return this.each(_e(de,Re))};function _e(de,Re){de=p.ns.qualify(de);function Ke(){this.removeAttribute(de)}function ft(){this.removeAttributeNS(de.space,de.local)}function dt(){this.setAttribute(de,Re)}function xt(){this.setAttributeNS(de.space,de.local,Re)}function Jt(){var sr=Re.apply(this,arguments);sr==null?this.removeAttribute(de):this.setAttribute(de,sr)}function It(){var sr=Re.apply(this,arguments);sr==null?this.removeAttributeNS(de.space,de.local):this.setAttributeNS(de.space,de.local,sr)}return Re==null?de.local?ft:Ke:typeof Re=="function"?de.local?It:Jt:de.local?xt:dt}function we(de){return de.trim().replace(/\s+/g," ")}ne.classed=function(de,Re){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node(),ft=(de=Ie(de)).length,dt=-1;if(Re=Ke.classList){for(;++dt=0;)(xt=Ke[ft])&&(dt&&dt!==xt.nextSibling&&dt.parentNode.insertBefore(xt,dt),dt=xt);return this},ne.sort=function(de){de=ze.apply(this,arguments);for(var Re=-1,Ke=this.length;++Re=Re&&(Re=dt+1);!(sr=Jt[Re])&&++Re0&&(de=de.slice(0,dt));var Jt=Bt.get(de);Jt&&(de=Jt,xt=cr);function It(){var Or=this[ft];Or&&(this.removeEventListener(de,Or,Or.$),delete this[ft])}function sr(){var Or=xt(Re,A(arguments));It.call(this),this.addEventListener(de,this[ft]=Or,Or.$=Ke),Or._=Re}function zr(){var Or=new RegExp("^__on([^.]+)"+p.requote(de)+"$"),bi;for(var gi in this)if(bi=gi.match(Or)){var Ki=this[gi];this.removeEventListener(bi[1],Ki,Ki.$),delete this[gi]}}return dt?Re?sr:It:Re?N:zr}var Bt=p.map({mouseenter:"mouseover",mouseleave:"mouseout"});S&&Bt.forEach(function(de){"on"+de in S&&Bt.remove(de)});function jt(de,Re){return function(Ke){var ft=p.event;p.event=Ke,Re[0]=this.__data__;try{de.apply(this,Re)}finally{p.event=ft}}}function cr(de,Re){var Ke=jt(de,Re);return function(ft){var dt=this,xt=ft.relatedTarget;(!xt||xt!==dt&&!(xt.compareDocumentPosition(dt)&8))&&Ke.call(dt,ft)}}var nr,Lr=0;function mr(de){var Re=".dragsuppress-"+ ++Lr,Ke="click"+Re,ft=p.select(t(de)).on("touchmove"+Re,Q).on("dragstart"+Re,Q).on("selectstart"+Re,Q);if(nr==null&&(nr="onselectstart"in de?!1:B(de.style,"userSelect")),nr){var dt=e(de).style,xt=dt[nr];dt[nr]="none"}return function(Jt){if(ft.on(Re,null),nr&&(dt[nr]=xt),Jt){var It=function(){ft.on(Ke,null)};ft.on(Ke,function(){Q(),It()},!0),setTimeout(It,0)}}}p.mouse=function(de){return mt(de,le())};var xr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function mt(de,Re){Re.changedTouches&&(Re=Re.changedTouches[0]);var Ke=de.ownerSVGElement||de;if(Ke.createSVGPoint){var ft=Ke.createSVGPoint();if(xr<0){var dt=t(de);if(dt.scrollX||dt.scrollY){Ke=p.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var xt=Ke[0][0].getScreenCTM();xr=!(xt.f||xt.e),Ke.remove()}}return xr?(ft.x=Re.pageX,ft.y=Re.pageY):(ft.x=Re.clientX,ft.y=Re.clientY),ft=ft.matrixTransform(de.getScreenCTM().inverse()),[ft.x,ft.y]}var Jt=de.getBoundingClientRect();return[Re.clientX-Jt.left-de.clientLeft,Re.clientY-Jt.top-de.clientTop]}p.touch=function(de,Re,Ke){if(arguments.length<3&&(Ke=Re,Re=le().changedTouches),Re){for(var ft=0,dt=Re.length,xt;ft0?1:de<0?-1:0}function yt(de,Re,Ke){return(Re[0]-de[0])*(Ke[1]-de[1])-(Re[1]-de[1])*(Ke[0]-de[0])}function Pt(de){return de>1?0:de<-1?Se:Math.acos(de)}function Ot(de){return de>1?be:de<-1?-be:Math.asin(de)}function Wt(de){return((de=Math.exp(de))-1/de)/2}function $t(de){return((de=Math.exp(de))+1/de)/2}function lr(de){return((de=Math.exp(2*de))-1)/(de+1)}function fi(de){return(de=Math.sin(de/2))*de}var Pi=Math.SQRT2,Bi=2,zi=4;p.interpolateZoom=function(de,Re){var Ke=de[0],ft=de[1],dt=de[2],xt=Re[0],Jt=Re[1],It=Re[2],sr=xt-Ke,zr=Jt-ft,Or=sr*sr+zr*zr,bi,gi;if(Or0&&(oa=oa.transition().duration(Jt)),oa.call(nn.event)}function ro(){Ui&&Ui.domain(Si.range().map(function(oa){return(oa-de.x)/de.k}).map(Si.invert)),ln&&ln.domain(Xi.range().map(function(oa){return(oa-de.y)/de.k}).map(Xi.invert))}function ao(oa){It++||oa({type:"zoomstart"})}function is(oa){ro(),oa({type:"zoom",scale:de.k,translate:[de.x,de.y]})}function lo(oa){--It||(oa({type:"zoomend"}),Ke=null)}function ts(){var oa=this,wo=rn.of(oa,arguments),ws=0,Cs=p.select(t(oa)).on(zr,xu).on(Or,Ul),Al=ji(p.mouse(oa)),Gl=mr(oa);ja.call(oa),ao(wo);function xu(){ws=1,ga(p.mouse(oa),Al),is(wo)}function Ul(){Cs.on(zr,null).on(Or,null),Gl(ws),lo(wo)}}function ul(){var oa=this,wo=rn.of(oa,arguments),ws={},Cs=0,Al,Gl=".zoom-"+p.event.changedTouches[0].identifier,xu="touchmove"+Gl,Ul="touchend"+Gl,_c=[],er=p.select(oa),oi=mr(oa);mn(),ao(wo),er.on(sr,null).on(gi,mn);function Li(){var Dn=p.touches(oa);return Al=de.k,Dn.forEach(function(Jn){Jn.identifier in ws&&(ws[Jn.identifier]=ji(Jn))}),Dn}function mn(){var Dn=p.event.target;p.select(Dn).on(xu,Fn).on(Ul,Rn),_c.push(Dn);for(var Jn=p.event.changedTouches,Sa=0,Ea=Jn.length;Sa1){var wa=ca[0],Ta=ca[1],ea=wa[0]-Ta[0],_n=wa[1]-Ta[1];Cs=ea*ea+_n*_n}}function Fn(){var Dn=p.touches(oa),Jn,Sa,Ea,ca;ja.call(oa);for(var $o=0,wa=Dn.length;$o1?1:Re,Ke=Ke<0?0:Ke>1?1:Ke,dt=Ke<=.5?Ke*(1+Re):Ke+Re-Ke*Re,ft=2*Ke-dt;function xt(It){return It>360?It-=360:It<0&&(It+=360),It<60?ft+(dt-ft)*It/60:It<180?dt:It<240?ft+(dt-ft)*(240-It)/60:ft}function Jt(It){return Math.round(xt(It)*255)}return new wr(Jt(de+120),Jt(de),Jt(de-120))}p.hcl=Ut;function Ut(de,Re,Ke){return this instanceof Ut?(this.h=+de,this.c=+Re,void(this.l=+Ke)):arguments.length<2?de instanceof Ut?new Ut(de.h,de.c,de.l):de instanceof _i?vt(de.l,de.a,de.b):vt((de=mi((de=p.rgb(de)).r,de.g,de.b)).l,de.a,de.b):new Ut(de,Re,Ke)}var br=Ut.prototype=new vn;br.brighter=function(de){return new Ut(this.h,this.c,Math.min(100,this.l+Yr*(arguments.length?de:1)))},br.darker=function(de){return new Ut(this.h,this.c,Math.max(0,this.l-Yr*(arguments.length?de:1)))},br.rgb=function(){return Zr(this.h,this.c,this.l).rgb()};function Zr(de,Re,Ke){return isNaN(de)&&(de=0),isNaN(Re)&&(Re=0),new _i(Ke,Math.cos(de*=Ce)*Re,Math.sin(de)*Re)}p.lab=_i;function _i(de,Re,Ke){return this instanceof _i?(this.l=+de,this.a=+Re,void(this.b=+Ke)):arguments.length<2?de instanceof _i?new _i(de.l,de.a,de.b):de instanceof Ut?Zr(de.h,de.c,de.l):mi((de=wr(de)).r,de.g,de.b):new _i(de,Re,Ke)}var Yr=18,Di=.95047,qi=1,$i=1.08883,Mi=_i.prototype=new vn;Mi.brighter=function(de){return new _i(Math.min(100,this.l+Yr*(arguments.length?de:1)),this.a,this.b)},Mi.darker=function(de){return new _i(Math.max(0,this.l-Yr*(arguments.length?de:1)),this.a,this.b)},Mi.rgb=function(){return sn(this.l,this.a,this.b)};function sn(de,Re,Ke){var ft=(de+16)/116,dt=ft+Re/500,xt=ft-Ke/200;return dt=pt(dt)*Di,ft=pt(ft)*qi,xt=pt(xt)*$i,new wr(Cr(3.2404542*dt-1.5371385*ft-.4985314*xt),Cr(-.969266*dt+1.8760108*ft+.041556*xt),Cr(.0556434*dt-.2040259*ft+1.0572252*xt))}function vt(de,Re,Ke){return de>0?new Ut(Math.atan2(Ke,Re)*et,Math.sqrt(Re*Re+Ke*Ke),de):new Ut(NaN,NaN,de)}function pt(de){return de>.206893034?de*de*de:(de-4/29)/7.787037}function kr(de){return de>.008856?Math.pow(de,1/3):7.787037*de+4/29}function Cr(de){return Math.round(255*(de<=.00304?12.92*de:1.055*Math.pow(de,1/2.4)-.055))}p.rgb=wr;function wr(de,Re,Ke){return this instanceof wr?(this.r=~~de,this.g=~~Re,void(this.b=~~Ke)):arguments.length<2?de instanceof wr?new wr(de.r,de.g,de.b):Qr(""+de,wr,qt):new wr(de,Re,Ke)}function Ar(de){return new wr(de>>16,de>>8&255,de&255)}function Er(de){return Ar(de)+""}var Br=wr.prototype=new vn;Br.brighter=function(de){de=Math.pow(.7,arguments.length?de:1);var Re=this.r,Ke=this.g,ft=this.b,dt=30;return!Re&&!Ke&&!ft?new wr(dt,dt,dt):(Re&&Re>4,ft=ft>>4|ft,dt=sr&240,dt=dt>>4|dt,xt=sr&15,xt=xt<<4|xt):de.length===7&&(ft=(sr&16711680)>>16,dt=(sr&65280)>>8,xt=sr&255)),Re(ft,dt,xt))}function ci(de,Re,Ke){var ft=Math.min(de/=255,Re/=255,Ke/=255),dt=Math.max(de,Re,Ke),xt=dt-ft,Jt,It,sr=(dt+ft)/2;return xt?(It=sr<.5?xt/(dt+ft):xt/(2-dt-ft),de==dt?Jt=(Re-Ke)/xt+(Re0&&sr<1?0:Jt),new Xt(Jt,It,sr)}function mi(de,Re,Ke){de=Et(de),Re=Et(Re),Ke=Et(Ke);var ft=kr((.4124564*de+.3575761*Re+.1804375*Ke)/Di),dt=kr((.2126729*de+.7151522*Re+.072175*Ke)/qi),xt=kr((.0193339*de+.119192*Re+.9503041*Ke)/$i);return _i(116*dt-16,500*(ft-dt),200*(dt-xt))}function Et(de){return(de/=255)<=.04045?de/12.92:Math.pow((de+.055)/1.055,2.4)}function ar(de){var Re=parseFloat(de);return de.charAt(de.length-1)==="%"?Math.round(Re*2.55):Re}var gr=p.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});gr.forEach(function(de,Re){gr.set(de,Ar(Re))});function ti(de){return typeof de=="function"?de:function(){return de}}p.functor=ti,p.xhr=wi(F);function wi(de){return function(Re,Ke,ft){return arguments.length===2&&typeof Ke=="function"&&(ft=Ke,Ke=null),Gi(Re,Ke,de,ft)}}function Gi(de,Re,Ke,ft){var dt={},xt=p.dispatch("beforesend","progress","load","error"),Jt={},It=new XMLHttpRequest,sr=null;self.XDomainRequest&&!("withCredentials"in It)&&/^(http(s)?:)?\/\//.test(de)&&(It=new XDomainRequest),"onload"in It?It.onload=It.onerror=zr:It.onreadystatechange=function(){It.readyState>3&&zr()};function zr(){var Or=It.status,bi;if(!Or&&xi(It)||Or>=200&&Or<300||Or===304){try{bi=Ke.call(dt,It)}catch(gi){xt.error.call(dt,gi);return}xt.load.call(dt,bi)}else xt.error.call(dt,It)}return It.onprogress=function(Or){var bi=p.event;p.event=Or;try{xt.progress.call(dt,It)}finally{p.event=bi}},dt.header=function(Or,bi){return Or=(Or+"").toLowerCase(),arguments.length<2?Jt[Or]:(bi==null?delete Jt[Or]:Jt[Or]=bi+"",dt)},dt.mimeType=function(Or){return arguments.length?(Re=Or==null?null:Or+"",dt):Re},dt.responseType=function(Or){return arguments.length?(sr=Or,dt):sr},dt.response=function(Or){return Ke=Or,dt},["get","post"].forEach(function(Or){dt[Or]=function(){return dt.send.apply(dt,[Or].concat(A(arguments)))}}),dt.send=function(Or,bi,gi){if(arguments.length===2&&typeof bi=="function"&&(gi=bi,bi=null),It.open(Or,de,!0),Re!=null&&!("accept"in Jt)&&(Jt.accept=Re+",*/*"),It.setRequestHeader)for(var Ki in Jt)It.setRequestHeader(Ki,Jt[Ki]);return Re!=null&&It.overrideMimeType&&It.overrideMimeType(Re),sr!=null&&(It.responseType=sr),gi!=null&&dt.on("error",gi).on("load",function(rn){gi(null,rn)}),xt.beforesend.call(dt,It),It.send(bi??null),dt},dt.abort=function(){return It.abort(),dt},p.rebind(dt,xt,"on"),ft==null?dt:dt.get(Fi(ft))}function Fi(de){return de.length===1?function(Re,Ke){de(Re==null?Ke:null)}:de}function xi(de){var Re=de.responseType;return Re&&Re!=="text"?de.response:de.responseText}p.dsv=function(de,Re){var Ke=new RegExp('["'+de+`
]`),ft=de.charCodeAt(0);function dt(zr,Or,bi){arguments.length<3&&(bi=Or,Or=null);var gi=Gi(zr,Re,Or==null?xt:Jt(Or),bi);return gi.row=function(Ki){return arguments.length?gi.response((Or=Ki)==null?xt:Jt(Ki)):Or},gi}function xt(zr){return dt.parse(zr.responseText)}function Jt(zr){return function(Or){return dt.parse(Or.responseText,zr)}}dt.parse=function(zr,Or){var bi;return dt.parseRows(zr,function(gi,Ki){if(bi)return bi(gi,Ki-1);var rn=function(Si){for(var Ui={},Xi=gi.length,ln=0;ln=rn)return gi;if(ln)return ln=!1,bi;var Kn=Si;if(zr.charCodeAt(Kn)===34){for(var ia=Kn;ia++24?(isFinite(Re)&&(clearTimeout(ba),ba=setTimeout(Qa,Re)),hn=0):(hn=1,Aa(Qa))}g.timer.flush=function(){yo(),Ga()};function yo(){for(var de=Date.now(),Re=Ii;Re;)de>=Re.t&&Re.c(de-Re.t)&&(Re.c=null),Re=Re.n;return de}function Ga(){for(var de,Re=Ii,Ke=1/0;Re;)Re.c?(Re.t=0;--It)Si.push(dt[zr[bi[It]][2]]);for(It=+Ki;It1&&yt(de[Ke[ft-2]],de[Ke[ft-1]],de[dt])<=0;)--ft;Ke[ft++]=dt}return Ke.slice(0,ft)}function es(de,Re){return de[0]-Re[0]||de[1]-Re[1]}g.geom.polygon=function(de){return G(de,bs),de};var bs=g.geom.polygon.prototype=[];bs.area=function(){for(var de=-1,Re=this.length,Ke,ft=this[Re-1],dt=0;++deZe)It=It.L;else if(Jt=Re-ko(It,Ke),Jt>Ze){if(!It.R){ft=It;break}It=It.R}else{xt>-Ze?(ft=It.P,dt=It):Jt>-Ze?(ft=It,dt=It.N):ft=dt=It;break}var sr=ps(de);if(gs.insert(ft,sr),!(!ft&&!dt)){if(ft===dt){Ho(ft),dt=ps(ft.site),gs.insert(sr,dt),sr.edge=dt.edge=tu(ft.site,sr.site),aa(ft),aa(dt);return}if(!dt){sr.edge=tu(ft.site,sr.site);return}Ho(ft),Ho(dt);var zr=ft.site,Or=zr.x,bi=zr.y,gi=de.x-Or,Ki=de.y-bi,rn=dt.site,Si=rn.x-Or,Ui=rn.y-bi,Xi=2*(gi*Ui-Ki*Si),ln=gi*gi+Ki*Ki,nn=Si*Si+Ui*Ui,ji={x:(Ui*ln-Ki*nn)/Xi+Or,y:(gi*nn-Si*ln)/Xi+bi};kl(dt.edge,zr,rn,ji),sr.edge=tu(zr,de,null,ji),dt.edge=tu(de,rn,null,ji),aa(ft),aa(dt)}}function Ys(de,Re){var Ke=de.site,ft=Ke.x,dt=Ke.y,xt=dt-Re;if(!xt)return ft;var Jt=de.P;if(!Jt)return-1/0;Ke=Jt.site;var It=Ke.x,sr=Ke.y,zr=sr-Re;if(!zr)return It;var Or=It-ft,bi=1/xt-1/zr,gi=Or/zr;return bi?(-gi+Math.sqrt(gi*gi-2*bi*(Or*Or/(-2*zr)-sr+zr/2+dt-xt/2)))/bi+ft:(ft+It)/2}function ko(de,Re){var Ke=de.N;if(Ke)return Ys(Ke,Re);var ft=de.site;return ft.y===Re?ft.x:1/0}function Js(de){this.site=de,this.edges=[]}Js.prototype.prepare=function(){for(var de=this.edges,Re=de.length,Ke;Re--;)Ke=de[Re].edge,(!Ke.b||!Ke.a)&&de.splice(Re,1);return de.sort(ml),de.length};function ks(de){for(var Re=de[0][0],Ke=de[1][0],ft=de[0][1],dt=de[1][1],xt,Jt,It,sr,zr=ss,Or=zr.length,bi,gi,Ki,rn,Si,Ui;Or--;)if(bi=zr[Or],!(!bi||!bi.prepare()))for(Ki=bi.edges,rn=Ki.length,gi=0;giZe||l(sr-Jt)>Ze)&&(Ki.splice(gi,0,new Hu(Ju(bi.site,Ui,l(It-Re)Ze?{x:Re,y:l(xt-Re)Ze?{x:l(Jt-dt)Ze?{x:Ke,y:l(xt-Ke)Ze?{x:l(Jt-ft)=-Ne)){var gi=sr*sr+zr*zr,Ki=Or*Or+Ui*Ui,rn=(Ui*gi-zr*Ki)/bi,Si=(sr*Ki-Or*gi)/bi,Ui=Si+It,Xi=Hs.pop()||new El;Xi.arc=de,Xi.site=dt,Xi.x=rn+Jt,Xi.y=Ui+Math.sqrt(rn*rn+Si*Si),Xi.cy=Ui,de.circle=Xi;for(var ln=null,nn=Ds._;nn;)if(Xi.y0)){if(Si/=Ki,Ki<0){if(Si0){if(Si>gi)return;Si>bi&&(bi=Si)}if(Si=Ke-It,!(!Ki&&Si<0)){if(Si/=Ki,Ki<0){if(Si>gi)return;Si>bi&&(bi=Si)}else if(Ki>0){if(Si0)){if(Si/=rn,rn<0){if(Si0){if(Si>gi)return;Si>bi&&(bi=Si)}if(Si=ft-sr,!(!rn&&Si<0)){if(Si/=rn,rn<0){if(Si>gi)return;Si>bi&&(bi=Si)}else if(rn>0){if(Si0&&(dt.a={x:It+bi*Ki,y:sr+bi*rn}),gi<1&&(dt.b={x:It+gi*Ki,y:sr+gi*rn}),dt}}}}}}function zs(de){for(var Re=Qo,Ke=po(de[0][0],de[0][1],de[1][0],de[1][1]),ft=Re.length,dt;ft--;)dt=Re[ft],(!hs(dt,de)||!Ke(dt)||l(dt.a.x-dt.b.x)=xt)return;if(Or>gi){if(!ft)ft={x:rn,y:Jt};else if(ft.y>=It)return;Ke={x:rn,y:It}}else{if(!ft)ft={x:rn,y:It};else if(ft.y1)if(Or>gi){if(!ft)ft={x:(Jt-Xi)/Ui,y:Jt};else if(ft.y>=It)return;Ke={x:(It-Xi)/Ui,y:It}}else{if(!ft)ft={x:(It-Xi)/Ui,y:It};else if(ft.y=xt)return;Ke={x:xt,y:Ui*xt+Xi}}else{if(!ft)ft={x:xt,y:Ui*xt+Xi};else if(ft.x=Or&&Xi.x<=gi&&Xi.y>=bi&&Xi.y<=Ki?[[Or,Ki],[gi,Ki],[gi,bi],[Or,bi]]:[];ln.point=sr[Si]}),zr}function It(sr){return sr.map(function(zr,Or){return{x:Math.round(ft(zr,Or)/Ze)*Ze,y:Math.round(dt(zr,Or)/Ze)*Ze,i:Or}})}return Jt.links=function(sr){return Qu(It(sr)).edges.filter(function(zr){return zr.l&&zr.r}).map(function(zr){return{source:sr[zr.l.i],target:sr[zr.r.i]}})},Jt.triangles=function(sr){var zr=[];return Qu(It(sr)).cells.forEach(function(Or,bi){for(var gi=Or.site,Ki=Or.edges.sort(ml),rn=-1,Si=Ki.length,Ui,Xi,ln=Ki[Si-1].edge,nn=ln.l===gi?ln.r:ln.l;++rnnn&&(nn=Or.x),Or.y>ji&&(ji=Or.y),Ki.push(Or.x),rn.push(Or.y);else for(Si=0;Sinn&&(nn=Kn),ia>ji&&(ji=ia),Ki.push(Kn),rn.push(ia)}var ga=nn-Xi,ka=ji-ln;ga>ka?ji=ln+ga:nn=Xi+ka;function ro(lo,ts,ul,nl,xl,oa,wo,ws){if(!(isNaN(ul)||isNaN(nl)))if(lo.leaf){var Cs=lo.x,Al=lo.y;if(Cs!=null)if(l(Cs-ul)+l(Al-nl)<.01)ao(lo,ts,ul,nl,xl,oa,wo,ws);else{var Gl=lo.point;lo.x=lo.y=lo.point=null,ao(lo,Gl,Cs,Al,xl,oa,wo,ws),ao(lo,ts,ul,nl,xl,oa,wo,ws)}else lo.x=ul,lo.y=nl,lo.point=ts}else ao(lo,ts,ul,nl,xl,oa,wo,ws)}function ao(lo,ts,ul,nl,xl,oa,wo,ws){var Cs=(xl+wo)*.5,Al=(oa+ws)*.5,Gl=ul>=Cs,xu=nl>=Al,Ul=xu<<1|Gl;lo.leaf=!1,lo=lo.nodes[Ul]||(lo.nodes[Ul]=ru()),Gl?xl=Cs:wo=Cs,xu?oa=Al:ws=Al,ro(lo,ts,ul,nl,xl,oa,wo,ws)}var is=ru();if(is.add=function(lo){ro(is,lo,+bi(lo,++Si),+gi(lo,Si),Xi,ln,nn,ji)},is.visit=function(lo){Cl(lo,is,Xi,ln,nn,ji)},is.find=function(lo){return fc(is,lo[0],lo[1],Xi,ln,nn,ji)},Si=-1,Re==null){for(;++Sixt||gi>Jt||Ki=Kn,ka=Ke>=ia,ro=ka<<1|ga,ao=ro+4;roKe&&(xt=Re.slice(Ke,xt),It[Jt]?It[Jt]+=xt:It[++Jt]=xt),(ft=ft[0])===(dt=dt[0])?It[Jt]?It[Jt]+=dt:It[++Jt]=dt:(It[++Jt]=null,sr.push({i:Jt,x:Ll(ft,dt)})),Ke=hc.lastIndex;return Ke=0&&!(ft=g.interpolators[Ke](de,Re)););return ft}g.interpolators=[function(de,Re){var Ke=typeof Re;return(Ke==="string"?gr.has(Re.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(Re)?Ac:Ks:Re instanceof vn?Ac:Array.isArray(Re)?ec:Ke==="object"&&isNaN(Re)?ol:Ll)(de,Re)}],g.interpolateArray=ec;function ec(de,Re){var Ke=[],ft=[],dt=de.length,xt=Re.length,Jt=Math.min(de.length,Re.length),It;for(It=0;It=0?de.slice(0,Re):de,ft=Re>=0?de.slice(Re+1):"in";return Ke=jh.get(Ke)||hl,ft=ys.get(ft)||F,Lh(ft(Ke.apply(null,x.call(arguments,1))))};function Lh(de){return function(Re){return Re<=0?0:Re>=1?1:de(Re)}}function Us(de){return function(Re){return 1-de(1-Re)}}function Wo(de){return function(Re){return .5*(Re<.5?de(2*Re):2-de(2-2*Re))}}function ff(de){return de*de}function tc(de){return de*de*de}function yu(de){if(de<=0)return 0;if(de>=1)return 1;var Re=de*de,Ke=Re*de;return 4*(de<.5?Ke:3*(de-Re)+Ke-.75)}function Uf(de){return function(Re){return Math.pow(Re,de)}}function Bc(de){return 1-Math.cos(de*be)}function hf(de){return Math.pow(2,10*(de-1))}function Xl(de){return 1-Math.sqrt(1-de*de)}function rh(de,Re){var Ke;return arguments.length<2&&(Re=.45),arguments.length?Ke=Re/Ve*Math.asin(1/de):(de=1,Ke=Re/4),function(ft){return 1+de*Math.pow(2,-10*ft)*Math.sin((ft-Ke)*Ve/Re)}}function jf(de){return de||(de=1.70158),function(Re){return Re*Re*((de+1)*Re-de)}}function Cf(de){return de<1/2.75?7.5625*de*de:de<2/2.75?7.5625*(de-=1.5/2.75)*de+.75:de<2.5/2.75?7.5625*(de-=2.25/2.75)*de+.9375:7.5625*(de-=2.625/2.75)*de+.984375}g.interpolateHcl=Jc;function Jc(de,Re){de=g.hcl(de),Re=g.hcl(Re);var Ke=de.h,ft=de.c,dt=de.l,xt=Re.h-Ke,Jt=Re.c-ft,It=Re.l-dt;return isNaN(Jt)&&(Jt=0,ft=isNaN(ft)?Re.c:ft),isNaN(xt)?(xt=0,Ke=isNaN(Ke)?Re.h:Ke):xt>180?xt-=360:xt<-180&&(xt+=360),function(sr){return Zr(Ke+xt*sr,ft+Jt*sr,dt+It*sr)+""}}g.interpolateHsl=Vf;function Vf(de,Re){de=g.hsl(de),Re=g.hsl(Re);var Ke=de.h,ft=de.s,dt=de.l,xt=Re.h-Ke,Jt=Re.s-ft,It=Re.l-dt;return isNaN(Jt)&&(Jt=0,ft=isNaN(ft)?Re.s:ft),isNaN(xt)?(xt=0,Ke=isNaN(Ke)?Re.h:Ke):xt>180?xt-=360:xt<-180&&(xt+=360),function(sr){return qt(Ke+xt*sr,ft+Jt*sr,dt+It*sr)+""}}g.interpolateLab=ih;function ih(de,Re){de=g.lab(de),Re=g.lab(Re);var Ke=de.l,ft=de.a,dt=de.b,xt=Re.l-Ke,Jt=Re.a-ft,It=Re.b-dt;return function(sr){return sn(Ke+xt*sr,ft+Jt*sr,dt+It*sr)+""}}g.interpolateRound=rc;function rc(de,Re){return Re-=de,function(Ke){return Math.round(de+Re*Ke)}}g.transform=function(de){var Re=S.createElementNS(g.ns.prefix.svg,"g");return(g.transform=function(Ke){if(Ke!=null){Re.setAttribute("transform",Ke);var ft=Re.transform.baseVal.consolidate()}return new Lf(ft?ft.matrix:_f)})(de)};function Lf(de){var Re=[de.a,de.b],Ke=[de.c,de.d],ft=Qc(Re),dt=Oc(Re,Ke),xt=Qc(Pu(Ke,Re,-dt))||0;Re[0]*Ke[1]180?Re+=360:Re-de>180&&(de+=360),ft.push({i:Ke.push(Nc(Ke)+"rotate(",null,")")-2,x:Ll(de,Re)})):Re&&Ke.push(Nc(Ke)+"rotate("+Re+")")}function Ph(de,Re,Ke,ft){de!==Re?ft.push({i:Ke.push(Nc(Ke)+"skewX(",null,")")-2,x:Ll(de,Re)}):Re&&Ke.push(Nc(Ke)+"skewX("+Re+")")}function nh(de,Re,Ke,ft){if(de[0]!==Re[0]||de[1]!==Re[1]){var dt=Ke.push(Nc(Ke)+"scale(",null,",",null,")");ft.push({i:dt-4,x:Ll(de[0],Re[0])},{i:dt-2,x:Ll(de[1],Re[1])})}else(Re[0]!==1||Re[1]!==1)&&Ke.push(Nc(Ke)+"scale("+Re+")")}function df(de,Re){var Ke=[],ft=[];return de=g.transform(de),Re=g.transform(Re),Qs(de.translate,Re.translate,Ke,ft),qf(de.rotate,Re.rotate,Ke,ft),Ph(de.skew,Re.skew,Ke,ft),nh(de.scale,Re.scale,Ke,ft),de=Re=null,function(dt){for(var xt=-1,Jt=ft.length,It;++xt0?xt=ji:(Ke.c=null,Ke.t=NaN,Ke=null,Re.end({type:"end",alpha:xt=0})):ji>0&&(Re.start({type:"start",alpha:xt=ji}),Ke=Va(de.tick)),de):xt},de.start=function(){var ji,Kn=Ki.length,ia=rn.length,ga=ft[0],ka=ft[1],ro,ao;for(ji=0;ji=0;)xt.push(Or=zr[sr]),Or.parent=It,Or.depth=It.depth+1;Ke&&(It.value=0),It.children=zr}else Ke&&(It.value=+Ke.call(ft,It,It.depth)||0),delete It.children;return dc(dt,function(bi){var gi,Ki;de&&(gi=bi.children)&&gi.sort(de),Ke&&(Ki=bi.parent)&&(Ki.value+=bi.value)}),Jt}return ft.sort=function(dt){return arguments.length?(de=dt,ft):de},ft.children=function(dt){return arguments.length?(Re=dt,ft):Re},ft.value=function(dt){return arguments.length?(Ke=dt,ft):Ke},ft.revalue=function(dt){return Ke&&(Sc(dt,function(xt){xt.children&&(xt.value=0)}),dc(dt,function(xt){var Jt;xt.children||(xt.value=+Ke.call(ft,xt,xt.depth)||0),(Jt=xt.parent)&&(Jt.value+=xt.value)})),dt},ft};function Wu(de,Re){return g.rebind(de,Re,"sort","children","value"),de.nodes=de,de.links=Du,de}function Sc(de,Re){for(var Ke=[de];(de=Ke.pop())!=null;)if(Re(de),(dt=de.children)&&(ft=dt.length))for(var ft,dt;--ft>=0;)Ke.push(dt[ft])}function dc(de,Re){for(var Ke=[de],ft=[];(de=Ke.pop())!=null;)if(ft.push(de),(Jt=de.children)&&(xt=Jt.length))for(var dt=-1,xt,Jt;++dtdt&&(dt=It),ft.push(It)}for(Jt=0;Jtft&&(Ke=Re,ft=dt);return Ke}function dl(de){return de.reduce(pf,0)}function pf(de,Re){return de+Re[1]}g.layout.histogram=function(){var de=!0,Re=Number,Ke=bf,ft=Ec;function dt(xt,gi){for(var It=[],sr=xt.map(Re,this),zr=Ke.call(this,sr,gi),Or=ft.call(this,zr,sr,gi),bi,gi=-1,Ki=sr.length,rn=Or.length-1,Si=de?1:1/Ki,Ui;++gi0)for(gi=-1;++gi=zr[0]&&Ui<=zr[1]&&(bi=It[g.bisect(Or,Ui,1,rn)-1],bi.y+=Si,bi.push(xt[gi]));return It}return dt.value=function(xt){return arguments.length?(Re=xt,dt):Re},dt.range=function(xt){return arguments.length?(Ke=ti(xt),dt):Ke},dt.bins=function(xt){return arguments.length?(ft=typeof xt=="number"?function(Jt){return Xu(Jt,xt)}:ti(xt),dt):ft},dt.frequency=function(xt){return arguments.length?(de=!!xt,dt):de},dt};function Ec(de,Re){return Xu(de,Math.ceil(Math.log(Re.length)/Math.LN2+1))}function Xu(de,Re){for(var Ke=-1,ft=+de[0],dt=(de[1]-ft)/Re,xt=[];++Ke<=Re;)xt[Ke]=dt*Ke+ft;return xt}function bf(de){return[g.min(de),g.max(de)]}g.layout.pack=function(){var de=g.layout.hierarchy().sort(vc),Re=0,Ke=[1,1],ft;function dt(xt,Jt){var It=de.call(this,xt,Jt),sr=It[0],zr=Ke[0],Or=Ke[1],bi=ft==null?Math.sqrt:typeof ft=="function"?ft:function(){return ft};if(sr.x=sr.y=0,dc(sr,function(Ki){Ki.r=+bi(Ki.value)}),dc(sr,Wf),Re){var gi=Re*(ft?1:Math.max(2*sr.r/zr,2*sr.r/Or))/2;dc(sr,function(Ki){Ki.r+=gi}),dc(sr,Wf),dc(sr,function(Ki){Ki.r-=gi})}return pc(sr,zr/2,Or/2,ft?1:1/Math.max(2*sr.r/zr,2*sr.r/Or)),It}return dt.size=function(xt){return arguments.length?(Ke=xt,dt):Ke},dt.radius=function(xt){return arguments.length?(ft=xt==null||typeof xt=="function"?xt:+xt,dt):ft},dt.padding=function(xt){return arguments.length?(Re=+xt,dt):Re},Wu(dt,de)};function vc(de,Re){return de.value-Re.value}function tf(de,Re){var Ke=de._pack_next;de._pack_next=Re,Re._pack_prev=de,Re._pack_next=Ke,Ke._pack_prev=Re}function Gf(de,Re){de._pack_next=Re,Re._pack_prev=de}function Jl(de,Re){var Ke=Re.x-de.x,ft=Re.y-de.y,dt=de.r+Re.r;return .999*dt*dt>Ke*Ke+ft*ft}function Wf(de){if(!(Re=de.children)||!(gi=Re.length))return;var Re,Ke=1/0,ft=-1/0,dt=1/0,xt=-1/0,Jt,It,sr,zr,Or,bi,gi;function Ki(ji){Ke=Math.min(ji.x-ji.r,Ke),ft=Math.max(ji.x+ji.r,ft),dt=Math.min(ji.y-ji.r,dt),xt=Math.max(ji.y+ji.r,xt)}if(Re.forEach(Zu),Jt=Re[0],Jt.x=-Jt.r,Jt.y=0,Ki(Jt),gi>1&&(It=Re[1],It.x=It.r,It.y=0,Ki(It),gi>2))for(sr=Re[2],Nl(Jt,It,sr),Ki(sr),tf(Jt,sr),Jt._pack_prev=sr,tf(sr,It),It=Jt._pack_next,zr=3;zrUi.x&&(Ui=Kn),Kn.depth>Xi.depth&&(Xi=Kn)});var ln=Re(Si,Ui)/2-Si.x,nn=Ke[0]/(Ui.x+Re(Ui,Si)/2+ln),ji=Ke[1]/(Xi.depth||1);Sc(Ki,function(Kn){Kn.x=(Kn.x+ln)*nn,Kn.y=Kn.depth*ji})}return gi}function xt(Or){for(var bi={A:null,children:[Or]},gi=[bi],Ki;(Ki=gi.pop())!=null;)for(var rn=Ki.children,Si,Ui=0,Xi=rn.length;Ui0&&(nc(Zt(Si,Or,gi),Or,Kn),Xi+=Kn,ln+=Kn),nn+=Si.m,Xi+=Ki.m,ji+=Ui.m,ln+=rn.m;Si&&!jc(rn)&&(rn.t=Si,rn.m+=nn-ln),Ki&&!mc(Ui)&&(Ui.t=Ki,Ui.m+=Xi-ji,gi=Or)}return gi}function zr(Or){Or.x*=Ke[0],Or.y=Or.depth*Ke[1]}return dt.separation=function(Or){return arguments.length?(Re=Or,dt):Re},dt.size=function(Or){return arguments.length?(ft=(Ke=Or)==null?zr:null,dt):ft?null:Ke},dt.nodeSize=function(Or){return arguments.length?(ft=(Ke=Or)==null?null:zr,dt):ft?Ke:null},Wu(dt,de)};function hu(de,Re){return de.parent==Re.parent?1:2}function mc(de){var Re=de.children;return Re.length?Re[0]:de.t}function jc(de){var Re=de.children,Ke;return(Ke=Re.length)?Re[Ke-1]:de.t}function nc(de,Re,Ke){var ft=Ke/(Re.i-de.i);Re.c-=ft,Re.s+=Ke,de.c+=ft,Re.z+=Ke,Re.m+=Ke}function rf(de){for(var Re=0,Ke=0,ft=de.children,dt=ft.length,xt;--dt>=0;)xt=ft[dt],xt.z+=Re,xt.m+=Re,Re+=xt.s+(Ke+=xt.c)}function Zt(de,Re,Ke){return de.a.parent===Re.parent?de.a:Ke}g.layout.cluster=function(){var de=g.layout.hierarchy().sort(null).value(null),Re=hu,Ke=[1,1],ft=!1;function dt(xt,Jt){var It=de.call(this,xt,Jt),sr=It[0],zr,Or=0;dc(sr,function(Si){var Ui=Si.children;Ui&&Ui.length?(Si.x=Kr(Ui),Si.y=hr(Ui)):(Si.x=zr?Or+=Re(Si,zr):0,Si.y=0,zr=Si)});var bi=qr(sr),gi=ki(sr),Ki=bi.x-Re(bi,gi)/2,rn=gi.x+Re(gi,bi)/2;return dc(sr,ft?function(Si){Si.x=(Si.x-sr.x)*Ke[0],Si.y=(sr.y-Si.y)*Ke[1]}:function(Si){Si.x=(Si.x-Ki)/(rn-Ki)*Ke[0],Si.y=(1-(sr.y?Si.y/sr.y:1))*Ke[1]}),It}return dt.separation=function(xt){return arguments.length?(Re=xt,dt):Re},dt.size=function(xt){return arguments.length?(ft=(Ke=xt)==null,dt):ft?null:Ke},dt.nodeSize=function(xt){return arguments.length?(ft=(Ke=xt)!=null,dt):ft?Ke:null},Wu(dt,de)};function hr(de){return 1+g.max(de,function(Re){return Re.y})}function Kr(de){return de.reduce(function(Re,Ke){return Re+Ke.x},0)/de.length}function qr(de){var Re=de.children;return Re&&Re.length?qr(Re[0]):de}function ki(de){var Re=de.children,Ke;return Re&&(Ke=Re.length)?ki(Re[Ke-1]):de}g.layout.treemap=function(){var de=g.layout.hierarchy(),Re=Math.round,Ke=[1,1],ft=null,dt=an,xt=!1,Jt,It="squarify",sr=.5*(1+Math.sqrt(5));function zr(Si,Ui){for(var Xi=-1,ln=Si.length,nn,ji;++Xi0;)ln.push(ji=nn[ka-1]),ln.area+=ji.area,It!=="squarify"||(ia=gi(ln,ga))<=Kn?(nn.pop(),Kn=ia):(ln.area-=ln.pop().area,Ki(ln,ga,Xi,!1),ga=Math.min(Xi.dx,Xi.dy),ln.length=ln.area=0,Kn=1/0);ln.length&&(Ki(ln,ga,Xi,!0),ln.length=ln.area=0),Ui.forEach(Or)}}function bi(Si){var Ui=Si.children;if(Ui&&Ui.length){var Xi=dt(Si),ln=Ui.slice(),nn,ji=[];for(zr(ln,Xi.dx*Xi.dy/Si.value),ji.area=0;nn=ln.pop();)ji.push(nn),ji.area+=nn.area,nn.z!=null&&(Ki(ji,nn.z?Xi.dx:Xi.dy,Xi,!ln.length),ji.length=ji.area=0);Ui.forEach(bi)}}function gi(Si,Ui){for(var Xi=Si.area,ln,nn=0,ji=1/0,Kn=-1,ia=Si.length;++Knnn&&(nn=ln));return Xi*=Xi,Ui*=Ui,Xi?Math.max(Ui*nn*sr/Xi,Xi/(Ui*ji*sr)):1/0}function Ki(Si,Ui,Xi,ln){var nn=-1,ji=Si.length,Kn=Xi.x,ia=Xi.y,ga=Ui?Re(Si.area/Ui):0,ka;if(Ui==Xi.dx){for((ln||ga>Xi.dy)&&(ga=Xi.dy);++nnXi.dx)&&(ga=Xi.dx);++nn1);return de+Re*ft*Math.sqrt(-2*Math.log(xt)/xt)}},logNormal:function(){var de=g.random.normal.apply(g,arguments);return function(){return Math.exp(de())}},bates:function(de){var Re=g.random.irwinHall(de);return function(){return Re()/de}},irwinHall:function(de){return function(){for(var Re=0,Ke=0;Ke2?cn:ra,zr=ft?Iu:hh;return dt=sr(de,Re,zr,Ke),xt=sr(Re,de,zr,Wl),It}function It(sr){return dt(sr)}return It.invert=function(sr){return xt(sr)},It.domain=function(sr){return arguments.length?(de=sr.map(Number),Jt()):de},It.range=function(sr){return arguments.length?(Re=sr,Jt()):Re},It.rangeRound=function(sr){return It.range(sr).interpolate(rc)},It.clamp=function(sr){return arguments.length?(ft=sr,Jt()):ft},It.interpolate=function(sr){return arguments.length?(Ke=sr,Jt()):Ke},It.ticks=function(sr){return Mo(de,sr)},It.tickFormat=function(sr,zr){return d3_scale_linearTickFormat(de,sr,zr)},It.nice=function(sr){return uo(de,sr),Jt()},It.copy=function(){return xa(de,Re,Ke,ft)},Jt()}function mo(de,Re){return g.rebind(de,Re,"range","rangeRound","interpolate","clamp")}function uo(de,Re){return yn(de,In(go(de,Re)[2])),yn(de,In(go(de,Re)[2])),de}function go(de,Re){Re==null&&(Re=10);var Ke=Pn(de),ft=Ke[1]-Ke[0],dt=Math.pow(10,Math.floor(Math.log(ft/Re)/Math.LN10)),xt=Re/ft*dt;return xt<=.15?dt*=10:xt<=.35?dt*=5:xt<=.75&&(dt*=2),Ke[0]=Math.ceil(Ke[0]/dt)*dt,Ke[1]=Math.floor(Ke[1]/dt)*dt+dt*.5,Ke[2]=dt,Ke}function Mo(de,Re){return g.range.apply(g,go(de,Re))}var ya={s:1,g:1,p:1,r:1,e:1};function Zn(de){return-Math.floor(Math.log(de)/Math.LN10+.01)}function Po(de,Re){var Ke=Zn(Re[2]);return de in ya?Math.abs(Ke-Zn(Math.max(l(Re[0]),l(Re[1]))))+ +(de!=="e"):Ke-(de==="%")*2}g.scale.log=function(){return us(g.scale.linear().domain([0,1]),10,!0,[1,10])};function us(de,Re,Ke,ft){function dt(It){return(Ke?Math.log(It<0?0:It):-Math.log(It>0?0:-It))/Math.log(Re)}function xt(It){return Ke?Math.pow(Re,It):-Math.pow(Re,-It)}function Jt(It){return de(dt(It))}return Jt.invert=function(It){return xt(de.invert(It))},Jt.domain=function(It){return arguments.length?(Ke=It[0]>=0,de.domain((ft=It.map(Number)).map(dt)),Jt):ft},Jt.base=function(It){return arguments.length?(Re=+It,de.domain(ft.map(dt)),Jt):Re},Jt.nice=function(){var It=yn(ft.map(dt),Ke?Math:Bs);return de.domain(It),ft=It.map(xt),Jt},Jt.ticks=function(){var It=Pn(ft),sr=[],zr=It[0],Or=It[1],bi=Math.floor(dt(zr)),gi=Math.ceil(dt(Or)),Ki=Re%1?2:Re;if(isFinite(gi-bi)){if(Ke){for(;bi0;rn--)sr.push(xt(bi)*rn);for(bi=0;sr[bi]Or;gi--);sr=sr.slice(bi,gi)}return sr},Jt.copy=function(){return us(de.copy(),Re,Ke,ft)},mo(Jt,de)}var Bs={floor:function(de){return-Math.ceil(-de)},ceil:function(de){return-Math.floor(-de)}};g.scale.pow=function(){return sl(g.scale.linear(),1,[0,1])};function sl(de,Re,Ke){var ft=js(Re),dt=js(1/Re);function xt(Jt){return de(ft(Jt))}return xt.invert=function(Jt){return dt(de.invert(Jt))},xt.domain=function(Jt){return arguments.length?(de.domain((Ke=Jt.map(Number)).map(ft)),xt):Ke},xt.ticks=function(Jt){return Mo(Ke,Jt)},xt.tickFormat=function(Jt,It){return d3_scale_linearTickFormat(Ke,Jt,It)},xt.nice=function(Jt){return xt.domain(uo(Ke,Jt))},xt.exponent=function(Jt){return arguments.length?(ft=js(Re=Jt),dt=js(1/Re),de.domain(Ke.map(ft)),xt):Re},xt.copy=function(){return sl(de.copy(),Re,Ke)},mo(xt,de)}function js(de){return function(Re){return Re<0?-Math.pow(-Re,de):Math.pow(Re,de)}}g.scale.sqrt=function(){return g.scale.pow().exponent(.5)},g.scale.ordinal=function(){return il([],{t:"range",a:[[]]})};function il(de,Re){var Ke,ft,dt;function xt(It){return ft[((Ke.get(It)||(Re.t==="range"?Ke.set(It,de.push(It)):NaN))-1)%ft.length]}function Jt(It,sr){return g.range(de.length).map(function(zr){return It+sr*zr})}return xt.domain=function(It){if(!arguments.length)return de;de=[],Ke=new M;for(var sr=-1,zr=It.length,Or;++sr0?Ke[xt-1]:de[0],xtgi?0:1;if(Or=Ee)return sr(Or,rn)+(zr?sr(zr,1-rn):"")+"Z";var Si,Ui,Xi,ln,nn=0,ji=0,Kn,ia,ga,ka,ro,ao,is,lo,ts=[];if((ln=(+Jt.apply(this,arguments)||0)/2)&&(Xi=ft===zu?Math.sqrt(zr*zr+Or*Or):+ft.apply(this,arguments),rn||(ji*=-1),Or&&(ji=Ot(Xi/Or*Math.sin(ln))),zr&&(nn=Ot(Xi/zr*Math.sin(ln)))),Or){Kn=Or*Math.cos(bi+ji),ia=Or*Math.sin(bi+ji),ga=Or*Math.cos(gi-ji),ka=Or*Math.sin(gi-ji);var ul=Math.abs(gi-bi-2*ji)<=Se?0:1;if(ji&&Cc(Kn,ia,ga,ka)===rn^ul){var nl=(bi+gi)/2;Kn=Or*Math.cos(nl),ia=Or*Math.sin(nl),ga=ka=null}}else Kn=ia=0;if(zr){ro=zr*Math.cos(gi-nn),ao=zr*Math.sin(gi-nn),is=zr*Math.cos(bi+nn),lo=zr*Math.sin(bi+nn);var xl=Math.abs(bi-gi+2*nn)<=Se?0:1;if(nn&&Cc(ro,ao,is,lo)===1-rn^xl){var oa=(bi+gi)/2;ro=zr*Math.cos(oa),ao=zr*Math.sin(oa),is=lo=null}}else ro=ao=0;if(Ki>Ze&&(Si=Math.min(Math.abs(Or-zr)/2,+Ke.apply(this,arguments)))>.001){Ui=zr0?0:1}function bo(de,Re,Ke,ft,dt){var xt=de[0]-Re[0],Jt=de[1]-Re[1],It=(dt?ft:-ft)/Math.sqrt(xt*xt+Jt*Jt),sr=It*Jt,zr=-It*xt,Or=de[0]+sr,bi=de[1]+zr,gi=Re[0]+sr,Ki=Re[1]+zr,rn=(Or+gi)/2,Si=(bi+Ki)/2,Ui=gi-Or,Xi=Ki-bi,ln=Ui*Ui+Xi*Xi,nn=Ke-ft,ji=Or*Ki-gi*bi,Kn=(Xi<0?-1:1)*Math.sqrt(Math.max(0,nn*nn*ln-ji*ji)),ia=(ji*Xi-Ui*Kn)/ln,ga=(-ji*Ui-Xi*Kn)/ln,ka=(ji*Xi+Ui*Kn)/ln,ro=(-ji*Ui+Xi*Kn)/ln,ao=ia-rn,is=ga-Si,lo=ka-rn,ts=ro-Si;return ao*ao+is*is>lo*lo+ts*ts&&(ia=ka,ga=ro),[[ia-sr,ga-zr],[ia*Ke/nn,ga*Ke/nn]]}function Ko(){return!0}function qc(de){var Re=Yo,Ke=da,ft=Ko,dt=yc,xt=dt.key,Jt=.7;function It(sr){var zr=[],Or=[],bi=-1,gi=sr.length,Ki,rn=ti(Re),Si=ti(Ke);function Ui(){zr.push("M",dt(de(Or),Jt))}for(;++bi1?de.join("L"):de+"Z"}function Be(de){return de.join("L")+"Z"}function R(de){for(var Re=0,Ke=de.length,ft=de[0],dt=[ft[0],",",ft[1]];++Re1&&dt.push("H",ft[0]),dt.join("")}function ie(de){for(var Re=0,Ke=de.length,ft=de[0],dt=[ft[0],",",ft[1]];++Re1){It=Re[1],xt=de[sr],sr++,ft+="C"+(dt[0]+Jt[0])+","+(dt[1]+Jt[1])+","+(xt[0]-It[0])+","+(xt[1]-It[1])+","+xt[0]+","+xt[1];for(var zr=2;zr9&&(xt=Ke*3/Math.sqrt(xt),Jt[It]=xt*ft,Jt[It+1]=xt*dt));for(It=-1;++It<=sr;)xt=(de[Math.min(sr,It+1)][0]-de[Math.max(0,It-1)][0])/(6*(1+Jt[It]*Jt[It])),Re.push([xt||0,Jt[It]*xt||0]);return Re}function tr(de){return de.length<3?yc(de):de[0]+_t(de,Lt(de))}g.svg.line.radial=function(){var de=qc(or);return de.radius=de.x,delete de.x,de.angle=de.y,delete de.y,de};function or(de){for(var Re,Ke=-1,ft=de.length,dt,xt;++KeSe)+",1 "+bi}function zr(Or,bi,gi,Ki){return"Q 0,0 "+Ki}return xt.radius=function(Or){return arguments.length?(Ke=ti(Or),xt):Ke},xt.source=function(Or){return arguments.length?(de=ti(Or),xt):de},xt.target=function(Or){return arguments.length?(Re=ti(Or),xt):Re},xt.startAngle=function(Or){return arguments.length?(ft=ti(Or),xt):ft},xt.endAngle=function(Or){return arguments.length?(dt=ti(Or),xt):dt},xt};function yi(de){return de.radius}g.svg.diagonal=function(){var de=Sr,Re=Wr,Ke=Ai;function ft(dt,xt){var Jt=de.call(this,dt,xt),It=Re.call(this,dt,xt),sr=(Jt.y+It.y)/2,zr=[Jt,{x:Jt.x,y:sr},{x:It.x,y:sr},It];return zr=zr.map(Ke),"M"+zr[0]+"C"+zr[1]+" "+zr[2]+" "+zr[3]}return ft.source=function(dt){return arguments.length?(de=ti(dt),ft):de},ft.target=function(dt){return arguments.length?(Re=ti(dt),ft):Re},ft.projection=function(dt){return arguments.length?(Ke=dt,ft):Ke},ft};function Ai(de){return[de.x,de.y]}g.svg.diagonal.radial=function(){var de=g.svg.diagonal(),Re=Ai,Ke=de.projection;return de.projection=function(ft){return arguments.length?Ke(Oi(Re=ft)):Re},de};function Oi(de){return function(){var Re=de.apply(this,arguments),Ke=Re[0],ft=Re[1]-be;return[Ke*Math.cos(ft),Ke*Math.sin(ft)]}}g.svg.symbol=function(){var de=Mn,Re=on;function Ke(ft,dt){return(qn.get(de.call(this,ft,dt))||An)(Re.call(this,ft,dt))}return Ke.type=function(ft){return arguments.length?(de=ti(ft),Ke):de},Ke.size=function(ft){return arguments.length?(Re=ti(ft),Ke):Re},Ke};function on(){return 64}function Mn(){return"circle"}function An(de){var Re=Math.sqrt(de/Se);return"M0,"+Re+"A"+Re+","+Re+" 0 1,1 0,"+-Re+"A"+Re+","+Re+" 0 1,1 0,"+Re+"Z"}var qn=g.map({circle:An,cross:function(de){var Re=Math.sqrt(de/5)/2;return"M"+-3*Re+","+-Re+"H"+-Re+"V"+-3*Re+"H"+Re+"V"+-Re+"H"+3*Re+"V"+Re+"H"+Re+"V"+3*Re+"H"+-Re+"V"+Re+"H"+-3*Re+"Z"},diamond:function(de){var Re=Math.sqrt(de/(2*eo)),Ke=Re*eo;return"M0,"+-Re+"L"+Ke+",0 0,"+Re+" "+-Ke+",0Z"},square:function(de){var Re=Math.sqrt(de)/2;return"M"+-Re+","+-Re+"L"+Re+","+-Re+" "+Re+","+Re+" "+-Re+","+Re+"Z"},"triangle-down":function(de){var Re=Math.sqrt(de/ma),Ke=Re*ma/2;return"M0,"+Ke+"L"+Re+","+-Ke+" "+-Re+","+-Ke+"Z"},"triangle-up":function(de){var Re=Math.sqrt(de/ma),Ke=Re*ma/2;return"M0,"+-Ke+"L"+Re+","+Ke+" "+-Re+","+Ke+"Z"}});g.svg.symbolTypes=qn.keys();var ma=Math.sqrt(3),eo=Math.tan(30*Ce);ae.transition=function(de){for(var Re=Ms||++as,Ke=ls(de),ft=[],dt,xt,Jt=pl||{time:Date.now(),ease:yu,delay:0,duration:250},It=-1,sr=this.length;++It0;)bi[--ln].call(de,Xi);if(Ui>=1)return Jt.event&&Jt.event.end.call(de,de.__data__,Re),--xt.count?delete xt[ft]:delete de[Ke],1}Jt||(It=dt.time,sr=Va(gi,0,It),Jt=xt[ft]={tween:new M,time:It,timer:sr,delay:dt.delay,duration:dt.duration,ease:dt.ease,index:Re},dt=null,++xt.count)}g.svg.axis=function(){var de=g.scale.linear(),Re=iu,Ke=6,ft=6,dt=3,xt=[10],Jt=null,It;function sr(zr){zr.each(function(){var Or=g.select(this),bi=this.__chart__||de,gi=this.__chart__=de.copy(),Ki=Jt??(gi.ticks?gi.ticks.apply(gi,xt):gi.domain()),rn=It??(gi.tickFormat?gi.tickFormat.apply(gi,xt):F),Si=Or.selectAll(".tick").data(Ki,gi),Ui=Si.enter().insert("g",".domain").attr("class","tick").style("opacity",Ze),Xi=g.transition(Si.exit()).style("opacity",Ze).remove(),ln=g.transition(Si.order()).style("opacity",1),nn=Math.max(Ke,0)+dt,ji,Kn=Vn(gi),ia=Or.selectAll(".domain").data([0]),ga=(ia.enter().append("path").attr("class","domain"),g.transition(ia));Ui.append("line"),Ui.append("text");var ka=Ui.select("line"),ro=ln.select("line"),ao=Si.select("text").text(rn),is=Ui.select("text"),lo=ln.select("text"),ts=Re==="top"||Re==="left"?-1:1,ul,nl,xl,oa;if(Re==="bottom"||Re==="top"?(ji=_u,ul="x",xl="y",nl="x2",oa="y2",ao.attr("dy",ts<0?"0em":".71em").style("text-anchor","middle"),ga.attr("d","M"+Kn[0]+","+ts*ft+"V0H"+Kn[1]+"V"+ts*ft)):(ji=Il,ul="y",xl="x",nl="y2",oa="x2",ao.attr("dy",".32em").style("text-anchor",ts<0?"end":"start"),ga.attr("d","M"+ts*ft+","+Kn[0]+"H0V"+Kn[1]+"H"+ts*ft)),ka.attr(oa,ts*Ke),is.attr(xl,ts*nn),ro.attr(nl,0).attr(oa,ts*Ke),lo.attr(ul,0).attr(xl,ts*nn),gi.rangeBand){var wo=gi,ws=wo.rangeBand()/2;bi=gi=function(Cs){return wo(Cs)+ws}}else bi.rangeBand?bi=gi:Xi.call(ji,gi,bi);Ui.call(ji,bi,gi),ln.call(ji,gi,gi)})}return sr.scale=function(zr){return arguments.length?(de=zr,sr):de},sr.orient=function(zr){return arguments.length?(Re=zr in Yu?zr+"":iu,sr):Re},sr.ticks=function(){return arguments.length?(xt=A(arguments),sr):xt},sr.tickValues=function(zr){return arguments.length?(Jt=zr,sr):Jt},sr.tickFormat=function(zr){return arguments.length?(It=zr,sr):It},sr.tickSize=function(zr){var Or=arguments.length;return Or?(Ke=+zr,ft=+arguments[Or-1],sr):Ke},sr.innerTickSize=function(zr){return arguments.length?(Ke=+zr,sr):Ke},sr.outerTickSize=function(zr){return arguments.length?(ft=+zr,sr):ft},sr.tickPadding=function(zr){return arguments.length?(dt=+zr,sr):dt},sr.tickSubdivide=function(){return arguments.length&&sr},sr};var iu="bottom",Yu={top:1,right:1,bottom:1,left:1};function _u(de,Re,Ke){de.attr("transform",function(ft){var dt=Re(ft);return"translate("+(isFinite(dt)?dt:Ke(ft))+",0)"})}function Il(de,Re,Ke){de.attr("transform",function(ft){var dt=Re(ft);return"translate(0,"+(isFinite(dt)?dt:Ke(ft))+")"})}g.svg.brush=function(){var de=se(Or,"brushstart","brush","brushend"),Re=null,Ke=null,ft=[0,0],dt=[0,0],xt,Jt,It=!0,sr=!0,zr=Lc[0];function Or(Si){Si.each(function(){var Ui=g.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",rn).on("touchstart.brush",rn),Xi=Ui.selectAll(".background").data([0]);Xi.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),Ui.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var ln=Ui.selectAll(".resize").data(zr,F);ln.exit().remove(),ln.enter().append("g").attr("class",function(ia){return"resize "+ia}).style("cursor",function(ia){return vu[ia]}).append("rect").attr("x",function(ia){return/[ew]$/.test(ia)?-3:null}).attr("y",function(ia){return/^[ns]/.test(ia)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),ln.style("display",Or.empty()?"none":null);var nn=g.transition(Ui),ji=g.transition(Xi),Kn;Re&&(Kn=Vn(Re),ji.attr("x",Kn[0]).attr("width",Kn[1]-Kn[0]),gi(nn)),Ke&&(Kn=Vn(Ke),ji.attr("y",Kn[0]).attr("height",Kn[1]-Kn[0]),Ki(nn)),bi(nn)})}Or.event=function(Si){Si.each(function(){var Ui=de.of(this,arguments),Xi={x:ft,y:dt,i:xt,j:Jt},ln=this.__chart__||Xi;this.__chart__=Xi,Ms?g.select(this).transition().each("start.brush",function(){xt=ln.i,Jt=ln.j,ft=ln.x,dt=ln.y,Ui({type:"brushstart"})}).tween("brush:brush",function(){var nn=ec(ft,Xi.x),ji=ec(dt,Xi.y);return xt=Jt=null,function(Kn){ft=Xi.x=nn(Kn),dt=Xi.y=ji(Kn),Ui({type:"brush",mode:"resize"})}}).each("end.brush",function(){xt=Xi.i,Jt=Xi.j,Ui({type:"brush",mode:"resize"}),Ui({type:"brushend"})}):(Ui({type:"brushstart"}),Ui({type:"brush",mode:"resize"}),Ui({type:"brushend"}))})};function bi(Si){Si.selectAll(".resize").attr("transform",function(Ui){return"translate("+ft[+/e$/.test(Ui)]+","+dt[+/^s/.test(Ui)]+")"})}function gi(Si){Si.select(".extent").attr("x",ft[0]),Si.selectAll(".extent,.n>rect,.s>rect").attr("width",ft[1]-ft[0])}function Ki(Si){Si.select(".extent").attr("y",dt[0]),Si.selectAll(".extent,.e>rect,.w>rect").attr("height",dt[1]-dt[0])}function rn(){var Si=this,Ui=g.select(g.event.target),Xi=de.of(Si,arguments),ln=g.select(Si),nn=Ui.datum(),ji=!/^(n|s)$/.test(nn)&&Re,Kn=!/^(e|w)$/.test(nn)&&Ke,ia=Ui.classed("extent"),ga=mr(Si),ka,ro=g.mouse(Si),ao,is=g.select(t(Si)).on("keydown.brush",ul).on("keyup.brush",nl);if(g.event.changedTouches?is.on("touchmove.brush",xl).on("touchend.brush",wo):is.on("mousemove.brush",xl).on("mouseup.brush",wo),ln.interrupt().selectAll("*").interrupt(),ia)ro[0]=ft[0]-ro[0],ro[1]=dt[0]-ro[1];else if(nn){var lo=+/w$/.test(nn),ts=+/^n/.test(nn);ao=[ft[1-lo]-ro[0],dt[1-ts]-ro[1]],ro[0]=ft[lo],ro[1]=dt[ts]}else g.event.altKey&&(ka=ro.slice());ln.style("pointer-events","none").selectAll(".resize").style("display",null),g.select("body").style("cursor",Ui.style("cursor")),Xi({type:"brushstart"}),xl();function ul(){g.event.keyCode==32&&(ia||(ka=null,ro[0]-=ft[1],ro[1]-=dt[1],ia=2),Q())}function nl(){g.event.keyCode==32&&ia==2&&(ro[0]+=ft[1],ro[1]+=dt[1],ia=0,Q())}function xl(){var ws=g.mouse(Si),Cs=!1;ao&&(ws[0]+=ao[0],ws[1]+=ao[1]),ia||(g.event.altKey?(ka||(ka=[(ft[0]+ft[1])/2,(dt[0]+dt[1])/2]),ro[0]=ft[+(ws[0]0))return jt;do jt.push(cr=new Date(+kt)),ze(kt,Bt),ue(kt);while(cr=Mt)for(;ue(Mt),!kt(Mt);)Mt.setTime(Mt-1)},function(Mt,Bt){if(Mt>=Mt)if(Bt<0)for(;++Bt<=0;)for(;ze(Mt,-1),!kt(Mt););else for(;--Bt>=0;)for(;ze(Mt,1),!kt(Mt););})},Qe&&($e.count=function(kt,Mt){return x.setTime(+kt),A.setTime(+Mt),ue(x),ue(A),Math.floor(Qe(x,A))},$e.every=function(kt){return kt=Math.floor(kt),!isFinite(kt)||!(kt>0)?null:kt>1?$e.filter(it?function(Mt){return it(Mt)%kt===0}:function(Mt){return $e.count(0,Mt)%kt===0}):$e}),$e}var e=S(function(){},function(ue,ze){ue.setTime(+ue+ze)},function(ue,ze){return ze-ue});e.every=function(ue){return ue=Math.floor(ue),!isFinite(ue)||!(ue>0)?null:ue>1?S(function(ze){ze.setTime(Math.floor(ze/ue)*ue)},function(ze,Qe){ze.setTime(+ze+Qe*ue)},function(ze,Qe){return(Qe-ze)/ue}):e};var t=e.range,r=1e3,o=6e4,i=36e5,n=864e5,a=6048e5,s=S(function(ue){ue.setTime(ue-ue.getMilliseconds())},function(ue,ze){ue.setTime(+ue+ze*r)},function(ue,ze){return(ze-ue)/r},function(ue){return ue.getUTCSeconds()}),c=s.range,h=S(function(ue){ue.setTime(ue-ue.getMilliseconds()-ue.getSeconds()*r)},function(ue,ze){ue.setTime(+ue+ze*o)},function(ue,ze){return(ze-ue)/o},function(ue){return ue.getMinutes()}),p=h.range,d=S(function(ue){ue.setTime(ue-ue.getMilliseconds()-ue.getSeconds()*r-ue.getMinutes()*o)},function(ue,ze){ue.setTime(+ue+ze*i)},function(ue,ze){return(ze-ue)/i},function(ue){return ue.getHours()}),T=d.range,l=S(function(ue){ue.setHours(0,0,0,0)},function(ue,ze){ue.setDate(ue.getDate()+ze)},function(ue,ze){return(ze-ue-(ze.getTimezoneOffset()-ue.getTimezoneOffset())*o)/n},function(ue){return ue.getDate()-1}),_=l.range;function w(ue){return S(function(ze){ze.setDate(ze.getDate()-(ze.getDay()+7-ue)%7),ze.setHours(0,0,0,0)},function(ze,Qe){ze.setDate(ze.getDate()+Qe*7)},function(ze,Qe){return(Qe-ze-(Qe.getTimezoneOffset()-ze.getTimezoneOffset())*o)/a})}var M=w(0),E=w(1),m=w(2),b=w(3),v=w(4),u=w(5),y=w(6),f=M.range,P=E.range,L=m.range,z=b.range,F=v.range,O=u.range,B=y.range,I=S(function(ue){ue.setDate(1),ue.setHours(0,0,0,0)},function(ue,ze){ue.setMonth(ue.getMonth()+ze)},function(ue,ze){return ze.getMonth()-ue.getMonth()+(ze.getFullYear()-ue.getFullYear())*12},function(ue){return ue.getMonth()}),N=I.range,U=S(function(ue){ue.setMonth(0,1),ue.setHours(0,0,0,0)},function(ue,ze){ue.setFullYear(ue.getFullYear()+ze)},function(ue,ze){return ze.getFullYear()-ue.getFullYear()},function(ue){return ue.getFullYear()});U.every=function(ue){return!isFinite(ue=Math.floor(ue))||!(ue>0)?null:S(function(ze){ze.setFullYear(Math.floor(ze.getFullYear()/ue)*ue),ze.setMonth(0,1),ze.setHours(0,0,0,0)},function(ze,Qe){ze.setFullYear(ze.getFullYear()+Qe*ue)})};var W=U.range,Q=S(function(ue){ue.setUTCSeconds(0,0)},function(ue,ze){ue.setTime(+ue+ze*o)},function(ue,ze){return(ze-ue)/o},function(ue){return ue.getUTCMinutes()}),le=Q.range,se=S(function(ue){ue.setUTCMinutes(0,0,0)},function(ue,ze){ue.setTime(+ue+ze*i)},function(ue,ze){return(ze-ue)/i},function(ue){return ue.getUTCHours()}),fe=se.range,G=S(function(ue){ue.setUTCHours(0,0,0,0)},function(ue,ze){ue.setUTCDate(ue.getUTCDate()+ze)},function(ue,ze){return(ze-ue)/n},function(ue){return ue.getUTCDate()-1}),J=G.range;function $(ue){return S(function(ze){ze.setUTCDate(ze.getUTCDate()-(ze.getUTCDay()+7-ue)%7),ze.setUTCHours(0,0,0,0)},function(ze,Qe){ze.setUTCDate(ze.getUTCDate()+Qe*7)},function(ze,Qe){return(Qe-ze)/a})}var X=$(0),re=$(1),ae=$(2),j=$(3),ee=$(4),ne=$(5),ce=$(6),_e=X.range,we=re.range,Oe=ae.range,Ie=j.range,Xe=ee.range,tt=ne.range,rt=ce.range,Je=S(function(ue){ue.setUTCDate(1),ue.setUTCHours(0,0,0,0)},function(ue,ze){ue.setUTCMonth(ue.getUTCMonth()+ze)},function(ue,ze){return ze.getUTCMonth()-ue.getUTCMonth()+(ze.getUTCFullYear()-ue.getUTCFullYear())*12},function(ue){return ue.getUTCMonth()}),ot=Je.range,Me=S(function(ue){ue.setUTCMonth(0,1),ue.setUTCHours(0,0,0,0)},function(ue,ze){ue.setUTCFullYear(ue.getUTCFullYear()+ze)},function(ue,ze){return ze.getUTCFullYear()-ue.getUTCFullYear()},function(ue){return ue.getUTCFullYear()});Me.every=function(ue){return!isFinite(ue=Math.floor(ue))||!(ue>0)?null:S(function(ze){ze.setUTCFullYear(Math.floor(ze.getUTCFullYear()/ue)*ue),ze.setUTCMonth(0,1),ze.setUTCHours(0,0,0,0)},function(ze,Qe){ze.setUTCFullYear(ze.getUTCFullYear()+Qe*ue)})};var pe=Me.range;g.timeDay=l,g.timeDays=_,g.timeFriday=u,g.timeFridays=O,g.timeHour=d,g.timeHours=T,g.timeInterval=S,g.timeMillisecond=e,g.timeMilliseconds=t,g.timeMinute=h,g.timeMinutes=p,g.timeMonday=E,g.timeMondays=P,g.timeMonth=I,g.timeMonths=N,g.timeSaturday=y,g.timeSaturdays=B,g.timeSecond=s,g.timeSeconds=c,g.timeSunday=M,g.timeSundays=f,g.timeThursday=v,g.timeThursdays=F,g.timeTuesday=m,g.timeTuesdays=L,g.timeWednesday=b,g.timeWednesdays=z,g.timeWeek=M,g.timeWeeks=f,g.timeYear=U,g.timeYears=W,g.utcDay=G,g.utcDays=J,g.utcFriday=ne,g.utcFridays=tt,g.utcHour=se,g.utcHours=fe,g.utcMillisecond=e,g.utcMilliseconds=t,g.utcMinute=Q,g.utcMinutes=le,g.utcMonday=re,g.utcMondays=we,g.utcMonth=Je,g.utcMonths=ot,g.utcSaturday=ce,g.utcSaturdays=rt,g.utcSecond=s,g.utcSeconds=c,g.utcSunday=X,g.utcSundays=_e,g.utcThursday=ee,g.utcThursdays=Xe,g.utcTuesday=ae,g.utcTuesdays=Oe,g.utcWednesday=j,g.utcWednesdays=Ie,g.utcWeek=X,g.utcWeeks=_e,g.utcYear=Me,g.utcYears=pe,Object.defineProperty(g,"__esModule",{value:!0})})}}),Ia=Le({"node_modules/d3-time-format/dist/d3-time-format.js"(Z,H){(function(g,x){typeof Z=="object"&&typeof H<"u"?x(Z,za()):(g=g||self,x(g.d3=g.d3||{},g.d3))})(Z,function(g,x){"use strict";function A(Fe){if(0<=Fe.y&&Fe.y<100){var Ze=new Date(-1,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L);return Ze.setFullYear(Fe.y),Ze}return new Date(Fe.y,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L)}function S(Fe){if(0<=Fe.y&&Fe.y<100){var Ze=new Date(Date.UTC(-1,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L));return Ze.setUTCFullYear(Fe.y),Ze}return new Date(Date.UTC(Fe.y,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L))}function e(Fe,Ze,Ne){return{y:Fe,m:Ze,d:Ne,H:0,M:0,S:0,L:0}}function t(Fe){var Ze=Fe.dateTime,Ne=Fe.date,Se=Fe.time,Ve=Fe.periods,Ee=Fe.days,be=Fe.shortDays,Ce=Fe.months,et=Fe.shortMonths,ht=c(Ve),yt=h(Ve),Pt=c(Ee),Ot=h(Ee),Wt=c(be),$t=h(be),lr=c(Ce),fi=h(Ce),Pi=c(et),Bi=h(et),zi={a:qi,A:$i,b:Mi,B:sn,c:null,d:I,e:I,f:le,H:N,I:U,j:W,L:Q,m:se,M:fe,p:vt,q:pt,Q:Mt,s:Bt,S:G,u:J,U:$,V:X,w:re,W:ae,x:null,X:null,y:j,Y:ee,Z:ne,"%":kt},en={a:kr,A:Cr,b:wr,B:Ar,c:null,d:ce,e:ce,f:Xe,H:_e,I:we,j:Oe,L:Ie,m:tt,M:rt,p:Er,q:Br,Q:Mt,s:Bt,S:Je,u:ot,U:Me,V:pe,w:ue,W:ze,x:null,X:null,y:Qe,Y:it,Z:$e,"%":kt},Ri={a:qt,A:Ut,b:br,B:Zr,c:_i,d:v,e:v,f:z,H:y,I:y,j:u,L,m:b,M:f,p:Dt,q:m,Q:O,s:B,S:P,u:d,U:T,V:l,w:p,W:_,x:Yr,X:Di,y:M,Y:w,Z:E,"%":F};zi.x=Zi(Ne,zi),zi.X=Zi(Se,zi),zi.c=Zi(Ze,zi),en.x=Zi(Ne,en),en.X=Zi(Se,en),en.c=Zi(Ze,en);function Zi(Pr,Qr){return function(ci){var mi=[],Et=-1,ar=0,gr=Pr.length,ti,wi,Gi;for(ci instanceof Date||(ci=new Date(+ci));++Et53)return null;"w"in mi||(mi.w=1),"Z"in mi?(ar=S(e(mi.y,0,1)),gr=ar.getUTCDay(),ar=gr>4||gr===0?x.utcMonday.ceil(ar):x.utcMonday(ar),ar=x.utcDay.offset(ar,(mi.V-1)*7),mi.y=ar.getUTCFullYear(),mi.m=ar.getUTCMonth(),mi.d=ar.getUTCDate()+(mi.w+6)%7):(ar=A(e(mi.y,0,1)),gr=ar.getDay(),ar=gr>4||gr===0?x.timeMonday.ceil(ar):x.timeMonday(ar),ar=x.timeDay.offset(ar,(mi.V-1)*7),mi.y=ar.getFullYear(),mi.m=ar.getMonth(),mi.d=ar.getDate()+(mi.w+6)%7)}else("W"in mi||"U"in mi)&&("w"in mi||(mi.w="u"in mi?mi.u%7:"W"in mi?1:0),gr="Z"in mi?S(e(mi.y,0,1)).getUTCDay():A(e(mi.y,0,1)).getDay(),mi.m=0,mi.d="W"in mi?(mi.w+6)%7+mi.W*7-(gr+5)%7:mi.w+mi.U*7-(gr+6)%7);return"Z"in mi?(mi.H+=mi.Z/100|0,mi.M+=mi.Z%100,S(mi)):A(mi)}}function Xt(Pr,Qr,ci,mi){for(var Et=0,ar=Qr.length,gr=ci.length,ti,wi;Et=gr)return-1;if(ti=Qr.charCodeAt(Et++),ti===37){if(ti=Qr.charAt(Et++),wi=Ri[ti in r?Qr.charAt(Et++):ti],!wi||(mi=wi(Pr,ci,mi))<0)return-1}else if(ti!=ci.charCodeAt(mi++))return-1}return mi}function Dt(Pr,Qr,ci){var mi=ht.exec(Qr.slice(ci));return mi?(Pr.p=yt[mi[0].toLowerCase()],ci+mi[0].length):-1}function qt(Pr,Qr,ci){var mi=Wt.exec(Qr.slice(ci));return mi?(Pr.w=$t[mi[0].toLowerCase()],ci+mi[0].length):-1}function Ut(Pr,Qr,ci){var mi=Pt.exec(Qr.slice(ci));return mi?(Pr.w=Ot[mi[0].toLowerCase()],ci+mi[0].length):-1}function br(Pr,Qr,ci){var mi=Pi.exec(Qr.slice(ci));return mi?(Pr.m=Bi[mi[0].toLowerCase()],ci+mi[0].length):-1}function Zr(Pr,Qr,ci){var mi=lr.exec(Qr.slice(ci));return mi?(Pr.m=fi[mi[0].toLowerCase()],ci+mi[0].length):-1}function _i(Pr,Qr,ci){return Xt(Pr,Ze,Qr,ci)}function Yr(Pr,Qr,ci){return Xt(Pr,Ne,Qr,ci)}function Di(Pr,Qr,ci){return Xt(Pr,Se,Qr,ci)}function qi(Pr){return be[Pr.getDay()]}function $i(Pr){return Ee[Pr.getDay()]}function Mi(Pr){return et[Pr.getMonth()]}function sn(Pr){return Ce[Pr.getMonth()]}function vt(Pr){return Ve[+(Pr.getHours()>=12)]}function pt(Pr){return 1+~~(Pr.getMonth()/3)}function kr(Pr){return be[Pr.getUTCDay()]}function Cr(Pr){return Ee[Pr.getUTCDay()]}function wr(Pr){return et[Pr.getUTCMonth()]}function Ar(Pr){return Ce[Pr.getUTCMonth()]}function Er(Pr){return Ve[+(Pr.getUTCHours()>=12)]}function Br(Pr){return 1+~~(Pr.getUTCMonth()/3)}return{format:function(Pr){var Qr=Zi(Pr+="",zi);return Qr.toString=function(){return Pr},Qr},parse:function(Pr){var Qr=vn(Pr+="",!1);return Qr.toString=function(){return Pr},Qr},utcFormat:function(Pr){var Qr=Zi(Pr+="",en);return Qr.toString=function(){return Pr},Qr},utcParse:function(Pr){var Qr=vn(Pr+="",!0);return Qr.toString=function(){return Pr},Qr}}}var r={"-":"",_:" ",0:"0"},o=/^\s*\d+/,i=/^%/,n=/[\\^$*+?|[\]().{}]/g;function a(Fe,Ze,Ne){var Se=Fe<0?"-":"",Ve=(Se?-Fe:Fe)+"",Ee=Ve.length;return Se+(Ee68?1900:2e3),Ne+Se[0].length):-1}function E(Fe,Ze,Ne){var Se=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(Ze.slice(Ne,Ne+6));return Se?(Fe.Z=Se[1]?0:-(Se[2]+(Se[3]||"00")),Ne+Se[0].length):-1}function m(Fe,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+1));return Se?(Fe.q=Se[0]*3-3,Ne+Se[0].length):-1}function b(Fe,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+2));return Se?(Fe.m=Se[0]-1,Ne+Se[0].length):-1}function v(Fe,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+2));return Se?(Fe.d=+Se[0],Ne+Se[0].length):-1}function u(Fe,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+3));return Se?(Fe.m=0,Fe.d=+Se[0],Ne+Se[0].length):-1}function y(Fe,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+2));return Se?(Fe.H=+Se[0],Ne+Se[0].length):-1}function f(Fe,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+2));return Se?(Fe.M=+Se[0],Ne+Se[0].length):-1}function P(Fe,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+2));return Se?(Fe.S=+Se[0],Ne+Se[0].length):-1}function L(Fe,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+3));return Se?(Fe.L=+Se[0],Ne+Se[0].length):-1}function z(Fe,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+6));return Se?(Fe.L=Math.floor(Se[0]/1e3),Ne+Se[0].length):-1}function F(Fe,Ze,Ne){var Se=i.exec(Ze.slice(Ne,Ne+1));return Se?Ne+Se[0].length:-1}function O(Fe,Ze,Ne){var Se=o.exec(Ze.slice(Ne));return Se?(Fe.Q=+Se[0],Ne+Se[0].length):-1}function B(Fe,Ze,Ne){var Se=o.exec(Ze.slice(Ne));return Se?(Fe.s=+Se[0],Ne+Se[0].length):-1}function I(Fe,Ze){return a(Fe.getDate(),Ze,2)}function N(Fe,Ze){return a(Fe.getHours(),Ze,2)}function U(Fe,Ze){return a(Fe.getHours()%12||12,Ze,2)}function W(Fe,Ze){return a(1+x.timeDay.count(x.timeYear(Fe),Fe),Ze,3)}function Q(Fe,Ze){return a(Fe.getMilliseconds(),Ze,3)}function le(Fe,Ze){return Q(Fe,Ze)+"000"}function se(Fe,Ze){return a(Fe.getMonth()+1,Ze,2)}function fe(Fe,Ze){return a(Fe.getMinutes(),Ze,2)}function G(Fe,Ze){return a(Fe.getSeconds(),Ze,2)}function J(Fe){var Ze=Fe.getDay();return Ze===0?7:Ze}function $(Fe,Ze){return a(x.timeSunday.count(x.timeYear(Fe)-1,Fe),Ze,2)}function X(Fe,Ze){var Ne=Fe.getDay();return Fe=Ne>=4||Ne===0?x.timeThursday(Fe):x.timeThursday.ceil(Fe),a(x.timeThursday.count(x.timeYear(Fe),Fe)+(x.timeYear(Fe).getDay()===4),Ze,2)}function re(Fe){return Fe.getDay()}function ae(Fe,Ze){return a(x.timeMonday.count(x.timeYear(Fe)-1,Fe),Ze,2)}function j(Fe,Ze){return a(Fe.getFullYear()%100,Ze,2)}function ee(Fe,Ze){return a(Fe.getFullYear()%1e4,Ze,4)}function ne(Fe){var Ze=Fe.getTimezoneOffset();return(Ze>0?"-":(Ze*=-1,"+"))+a(Ze/60|0,"0",2)+a(Ze%60,"0",2)}function ce(Fe,Ze){return a(Fe.getUTCDate(),Ze,2)}function _e(Fe,Ze){return a(Fe.getUTCHours(),Ze,2)}function we(Fe,Ze){return a(Fe.getUTCHours()%12||12,Ze,2)}function Oe(Fe,Ze){return a(1+x.utcDay.count(x.utcYear(Fe),Fe),Ze,3)}function Ie(Fe,Ze){return a(Fe.getUTCMilliseconds(),Ze,3)}function Xe(Fe,Ze){return Ie(Fe,Ze)+"000"}function tt(Fe,Ze){return a(Fe.getUTCMonth()+1,Ze,2)}function rt(Fe,Ze){return a(Fe.getUTCMinutes(),Ze,2)}function Je(Fe,Ze){return a(Fe.getUTCSeconds(),Ze,2)}function ot(Fe){var Ze=Fe.getUTCDay();return Ze===0?7:Ze}function Me(Fe,Ze){return a(x.utcSunday.count(x.utcYear(Fe)-1,Fe),Ze,2)}function pe(Fe,Ze){var Ne=Fe.getUTCDay();return Fe=Ne>=4||Ne===0?x.utcThursday(Fe):x.utcThursday.ceil(Fe),a(x.utcThursday.count(x.utcYear(Fe),Fe)+(x.utcYear(Fe).getUTCDay()===4),Ze,2)}function ue(Fe){return Fe.getUTCDay()}function ze(Fe,Ze){return a(x.utcMonday.count(x.utcYear(Fe)-1,Fe),Ze,2)}function Qe(Fe,Ze){return a(Fe.getUTCFullYear()%100,Ze,2)}function it(Fe,Ze){return a(Fe.getUTCFullYear()%1e4,Ze,4)}function $e(){return"+0000"}function kt(){return"%"}function Mt(Fe){return+Fe}function Bt(Fe){return Math.floor(+Fe/1e3)}var jt;cr({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"]});function cr(Fe){return jt=t(Fe),g.timeFormat=jt.format,g.timeParse=jt.parse,g.utcFormat=jt.utcFormat,g.utcParse=jt.utcParse,jt}var nr="%Y-%m-%dT%H:%M:%S.%LZ";function Lr(Fe){return Fe.toISOString()}var mr=Date.prototype.toISOString?Lr:g.utcFormat(nr);function xr(Fe){var Ze=new Date(Fe);return isNaN(Ze)?null:Ze}var mt=+new Date("2000-01-01T00:00:00.000Z")?xr:g.utcParse(nr);g.isoFormat=mr,g.isoParse=mt,g.timeFormatDefaultLocale=cr,g.timeFormatLocale=t,Object.defineProperty(g,"__esModule",{value:!0})})}}),To=Le({"node_modules/d3-format/dist/d3-format.js"(Z,H){(function(g,x){typeof Z=="object"&&typeof H<"u"?x(Z):(g=typeof globalThis<"u"?globalThis:g||self,x(g.d3=g.d3||{}))})(Z,function(g){"use strict";function x(b){return Math.abs(b=Math.round(b))>=1e21?b.toLocaleString("en").replace(/,/g,""):b.toString(10)}function A(b,v){if((u=(b=v?b.toExponential(v-1):b.toExponential()).indexOf("e"))<0)return null;var u,y=b.slice(0,u);return[y.length>1?y[0]+y.slice(2):y,+b.slice(u+1)]}function S(b){return b=A(Math.abs(b)),b?b[1]:NaN}function e(b,v){return function(u,y){for(var f=u.length,P=[],L=0,z=b[0],F=0;f>0&&z>0&&(F+z+1>y&&(z=Math.max(1,y-F)),P.push(u.substring(f-=z,f+z)),!((F+=z+1)>y));)z=b[L=(L+1)%b.length];return P.reverse().join(v)}}function t(b){return function(v){return v.replace(/[0-9]/g,function(u){return b[+u]})}}var r=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(b){if(!(v=r.exec(b)))throw new Error("invalid format: "+b);var v;return new i({fill:v[1],align:v[2],sign:v[3],symbol:v[4],zero:v[5],width:v[6],comma:v[7],precision:v[8]&&v[8].slice(1),trim:v[9],type:v[10]})}o.prototype=i.prototype;function i(b){this.fill=b.fill===void 0?" ":b.fill+"",this.align=b.align===void 0?">":b.align+"",this.sign=b.sign===void 0?"-":b.sign+"",this.symbol=b.symbol===void 0?"":b.symbol+"",this.zero=!!b.zero,this.width=b.width===void 0?void 0:+b.width,this.comma=!!b.comma,this.precision=b.precision===void 0?void 0:+b.precision,this.trim=!!b.trim,this.type=b.type===void 0?"":b.type+""}i.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function n(b){e:for(var v=b.length,u=1,y=-1,f;u0&&(y=0);break}return y>0?b.slice(0,y)+b.slice(f+1):b}var a;function s(b,v){var u=A(b,v);if(!u)return b+"";var y=u[0],f=u[1],P=f-(a=Math.max(-8,Math.min(8,Math.floor(f/3)))*3)+1,L=y.length;return P===L?y:P>L?y+new Array(P-L+1).join("0"):P>0?y.slice(0,P)+"."+y.slice(P):"0."+new Array(1-P).join("0")+A(b,Math.max(0,v+P-1))[0]}function c(b,v){var u=A(b,v);if(!u)return b+"";var y=u[0],f=u[1];return f<0?"0."+new Array(-f).join("0")+y:y.length>f+1?y.slice(0,f+1)+"."+y.slice(f+1):y+new Array(f-y.length+2).join("0")}var h={"%":function(b,v){return(b*100).toFixed(v)},b:function(b){return Math.round(b).toString(2)},c:function(b){return b+""},d:x,e:function(b,v){return b.toExponential(v)},f:function(b,v){return b.toFixed(v)},g:function(b,v){return b.toPrecision(v)},o:function(b){return Math.round(b).toString(8)},p:function(b,v){return c(b*100,v)},r:c,s,X:function(b){return Math.round(b).toString(16).toUpperCase()},x:function(b){return Math.round(b).toString(16)}};function p(b){return b}var d=Array.prototype.map,T=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function l(b){var v=b.grouping===void 0||b.thousands===void 0?p:e(d.call(b.grouping,Number),b.thousands+""),u=b.currency===void 0?"":b.currency[0]+"",y=b.currency===void 0?"":b.currency[1]+"",f=b.decimal===void 0?".":b.decimal+"",P=b.numerals===void 0?p:t(d.call(b.numerals,String)),L=b.percent===void 0?"%":b.percent+"",z=b.minus===void 0?"-":b.minus+"",F=b.nan===void 0?"NaN":b.nan+"";function O(I){I=o(I);var N=I.fill,U=I.align,W=I.sign,Q=I.symbol,le=I.zero,se=I.width,fe=I.comma,G=I.precision,J=I.trim,$=I.type;$==="n"?(fe=!0,$="g"):h[$]||(G===void 0&&(G=12),J=!0,$="g"),(le||N==="0"&&U==="=")&&(le=!0,N="0",U="=");var X=Q==="$"?u:Q==="#"&&/[boxX]/.test($)?"0"+$.toLowerCase():"",re=Q==="$"?y:/[%p]/.test($)?L:"",ae=h[$],j=/[defgprs%]/.test($);G=G===void 0?6:/[gprs]/.test($)?Math.max(1,Math.min(21,G)):Math.max(0,Math.min(20,G));function ee(ne){var ce=X,_e=re,we,Oe,Ie;if($==="c")_e=ae(ne)+_e,ne="";else{ne=+ne;var Xe=ne<0||1/ne<0;if(ne=isNaN(ne)?F:ae(Math.abs(ne),G),J&&(ne=n(ne)),Xe&&+ne==0&&W!=="+"&&(Xe=!1),ce=(Xe?W==="("?W:z:W==="-"||W==="("?"":W)+ce,_e=($==="s"?T[8+a/3]:"")+_e+(Xe&&W==="("?")":""),j){for(we=-1,Oe=ne.length;++weIe||Ie>57){_e=(Ie===46?f+ne.slice(we+1):ne.slice(we))+_e,ne=ne.slice(0,we);break}}}fe&&!le&&(ne=v(ne,1/0));var tt=ce.length+ne.length+_e.length,rt=tt>1)+ce+ne+_e+rt.slice(tt);break;default:ne=rt+ce+ne+_e;break}return P(ne)}return ee.toString=function(){return I+""},ee}function B(I,N){var U=O((I=o(I),I.type="f",I)),W=Math.max(-8,Math.min(8,Math.floor(S(N)/3)))*3,Q=Math.pow(10,-W),le=T[8+W/3];return function(se){return U(Q*se)+le}}return{format:O,formatPrefix:B}}var _;w({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function w(b){return _=l(b),g.format=_.format,g.formatPrefix=_.formatPrefix,_}function M(b){return Math.max(0,-S(Math.abs(b)))}function E(b,v){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(S(v)/3)))*3-S(Math.abs(b)))}function m(b,v){return b=Math.abs(b),v=Math.abs(v)-b,Math.max(0,S(v)-S(b))+1}g.FormatSpecifier=i,g.formatDefaultLocale=w,g.formatLocale=l,g.formatSpecifier=o,g.precisionFixed=M,g.precisionPrefix=E,g.precisionRound=m,Object.defineProperty(g,"__esModule",{value:!0})})}}),Xn=Le({"node_modules/is-string-blank/index.js"(Z,H){"use strict";H.exports=function(g){for(var x=g.length,A,S=0;S13)&&A!==32&&A!==133&&A!==160&&A!==5760&&A!==6158&&(A<8192||A>8205)&&A!==8232&&A!==8233&&A!==8239&&A!==8287&&A!==8288&&A!==12288&&A!==65279)return!1;return!0}}}),zn=Le({"node_modules/fast-isnumeric/index.js"(Z,H){"use strict";var g=Xn();H.exports=function(x){var A=typeof x;if(A==="string"){var S=x;if(x=+x,x===0&&g(S))return!1}else if(A!=="number")return!1;return x-x<1}}}),$n=Le({"src/constants/numerical.js"(Z,H){"use strict";H.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,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:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}}}),Ao=Le({"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js"(Z,H){(function(g,x){typeof Z=="object"&&typeof H<"u"?x(Z):(g=typeof globalThis<"u"?globalThis:g||self,x(g["base64-arraybuffer"]={}))})(Z,function(g){"use strict";for(var x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",A=typeof Uint8Array>"u"?[]:new Uint8Array(256),S=0;S>2],a+=x[(o[i]&3)<<4|o[i+1]>>4],a+=x[(o[i+1]&15)<<2|o[i+2]>>6],a+=x[o[i+2]&63];return n%3===2?a=a.substring(0,a.length-1)+"=":n%3===1&&(a=a.substring(0,a.length-2)+"=="),a},t=function(r){var o=r.length*.75,i=r.length,n,a=0,s,c,h,p;r[r.length-1]==="="&&(o--,r[r.length-2]==="="&&o--);var d=new ArrayBuffer(o),T=new Uint8Array(d);for(n=0;n>4,T[a++]=(c&15)<<4|h>>2,T[a++]=(h&3)<<6|p&63;return d};g.decode=t,g.encode=e,Object.defineProperty(g,"__esModule",{value:!0})})}}),$s=Le({"src/lib/is_plain_object.js"(Z,H){"use strict";H.exports=function(x){return window&&window.process&&window.process.versions?Object.prototype.toString.call(x)==="[object Object]":Object.prototype.toString.call(x)==="[object Object]"&&Object.getPrototypeOf(x).hasOwnProperty("hasOwnProperty")}}}),cl=Le({"src/lib/array.js"(Z){"use strict";var H=Ao().decode,g=$s(),x=Array.isArray,A=ArrayBuffer,S=DataView;function e(s){return A.isView(s)&&!(s instanceof S)}Z.isTypedArray=e;function t(s){return x(s)||e(s)}Z.isArrayOrTypedArray=t;function r(s){return!t(s[0])}Z.isArray1D=r,Z.ensureArray=function(s,c){return x(s)||(s=[]),s.length=c,s};var o={u1c:typeof Uint8ClampedArray>"u"?void 0:Uint8ClampedArray,i1:typeof Int8Array>"u"?void 0:Int8Array,u1:typeof Uint8Array>"u"?void 0:Uint8Array,i2:typeof Int16Array>"u"?void 0:Int16Array,u2:typeof Uint16Array>"u"?void 0:Uint16Array,i4:typeof Int32Array>"u"?void 0:Int32Array,u4:typeof Uint32Array>"u"?void 0:Uint32Array,f4:typeof Float32Array>"u"?void 0:Float32Array,f8:typeof Float64Array>"u"?void 0:Float64Array};o.uint8c=o.u1c,o.uint8=o.u1,o.int8=o.i1,o.uint16=o.u2,o.int16=o.i2,o.uint32=o.u4,o.int32=o.i4,o.float32=o.f4,o.float64=o.f8;function i(s){return s.constructor===ArrayBuffer}Z.isArrayBuffer=i,Z.decodeTypedArraySpec=function(s){var c=[],h=n(s),p=h.dtype,d=o[p];if(!d)throw new Error('Error in dtype: "'+p+'"');var T=d.BYTES_PER_ELEMENT,l=h.bdata;i(l)||(l=H(l));var _=h.shape===void 0?[l.byteLength/T]:(""+h.shape).split(",");_.reverse();var w=_.length,M,E,m=+_[0],b=T*m,v=0;if(w===1)c=new d(l);else if(w===2)for(M=+_[1],E=0;E2)return d[M]=d[M]|e,_.set(w,null);if(l){for(c=M;c0)return Math.log(A)/Math.LN10;var e=Math.log(Math.min(S[0],S[1]))/Math.LN10;return g(e)||(e=Math.log(Math.max(S[0],S[1]))/Math.LN10-6),e}}}),Tc=Le({"src/lib/relink_private.js"(Z,H){"use strict";var g=cl().isArrayOrTypedArray,x=$s();H.exports=function A(S,e){for(var t in e){var r=e[t],o=S[t];if(o!==r)if(t.charAt(0)==="_"||typeof r=="function"){if(t in S)continue;S[t]=r}else if(g(r)&&g(o)&&x(r[0])){if(t==="customdata"||t==="ids")continue;for(var i=Math.min(r.length,o.length),n=0;nS/2?A-Math.round(A/S)*S:A}H.exports={mod:g,modHalf:x}}}),Vl=Le({"node_modules/tinycolor2/tinycolor.js"(Z,H){(function(g){var x=/^\s+/,A=/\s+$/,S=0,e=g.round,t=g.min,r=g.max,o=g.random;function i(j,ee){if(j=j||"",ee=ee||{},j instanceof i)return j;if(!(this instanceof i))return new i(j,ee);var ne=n(j);this._originalInput=j,this._r=ne.r,this._g=ne.g,this._b=ne.b,this._a=ne.a,this._roundA=e(100*this._a)/100,this._format=ee.format||ne.format,this._gradientType=ee.gradientType,this._r<1&&(this._r=e(this._r)),this._g<1&&(this._g=e(this._g)),this._b<1&&(this._b=e(this._b)),this._ok=ne.ok,this._tc_id=S++}i.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 j=this.toRgb();return(j.r*299+j.g*587+j.b*114)/1e3},getLuminance:function(){var j=this.toRgb(),ee,ne,ce,_e,we,Oe;return ee=j.r/255,ne=j.g/255,ce=j.b/255,ee<=.03928?_e=ee/12.92:_e=g.pow((ee+.055)/1.055,2.4),ne<=.03928?we=ne/12.92:we=g.pow((ne+.055)/1.055,2.4),ce<=.03928?Oe=ce/12.92:Oe=g.pow((ce+.055)/1.055,2.4),.2126*_e+.7152*we+.0722*Oe},setAlpha:function(j){return this._a=I(j),this._roundA=e(100*this._a)/100,this},toHsv:function(){var j=h(this._r,this._g,this._b);return{h:j.h*360,s:j.s,v:j.v,a:this._a}},toHsvString:function(){var j=h(this._r,this._g,this._b),ee=e(j.h*360),ne=e(j.s*100),ce=e(j.v*100);return this._a==1?"hsv("+ee+", "+ne+"%, "+ce+"%)":"hsva("+ee+", "+ne+"%, "+ce+"%, "+this._roundA+")"},toHsl:function(){var j=s(this._r,this._g,this._b);return{h:j.h*360,s:j.s,l:j.l,a:this._a}},toHslString:function(){var j=s(this._r,this._g,this._b),ee=e(j.h*360),ne=e(j.s*100),ce=e(j.l*100);return this._a==1?"hsl("+ee+", "+ne+"%, "+ce+"%)":"hsla("+ee+", "+ne+"%, "+ce+"%, "+this._roundA+")"},toHex:function(j){return d(this._r,this._g,this._b,j)},toHexString:function(j){return"#"+this.toHex(j)},toHex8:function(j){return T(this._r,this._g,this._b,this._a,j)},toHex8String:function(j){return"#"+this.toHex8(j)},toRgb:function(){return{r:e(this._r),g:e(this._g),b:e(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+e(this._r)+", "+e(this._g)+", "+e(this._b)+")":"rgba("+e(this._r)+", "+e(this._g)+", "+e(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:e(N(this._r,255)*100)+"%",g:e(N(this._g,255)*100)+"%",b:e(N(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+e(N(this._r,255)*100)+"%, "+e(N(this._g,255)*100)+"%, "+e(N(this._b,255)*100)+"%)":"rgba("+e(N(this._r,255)*100)+"%, "+e(N(this._g,255)*100)+"%, "+e(N(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:O[d(this._r,this._g,this._b,!0)]||!1},toFilter:function(j){var ee="#"+l(this._r,this._g,this._b,this._a),ne=ee,ce=this._gradientType?"GradientType = 1, ":"";if(j){var _e=i(j);ne="#"+l(_e._r,_e._g,_e._b,_e._a)}return"progid:DXImageTransform.Microsoft.gradient("+ce+"startColorstr="+ee+",endColorstr="+ne+")"},toString:function(j){var ee=!!j;j=j||this._format;var ne=!1,ce=this._a<1&&this._a>=0,_e=!ee&&ce&&(j==="hex"||j==="hex6"||j==="hex3"||j==="hex4"||j==="hex8"||j==="name");return _e?j==="name"&&this._a===0?this.toName():this.toRgbString():(j==="rgb"&&(ne=this.toRgbString()),j==="prgb"&&(ne=this.toPercentageRgbString()),(j==="hex"||j==="hex6")&&(ne=this.toHexString()),j==="hex3"&&(ne=this.toHexString(!0)),j==="hex4"&&(ne=this.toHex8String(!0)),j==="hex8"&&(ne=this.toHex8String()),j==="name"&&(ne=this.toName()),j==="hsl"&&(ne=this.toHslString()),j==="hsv"&&(ne=this.toHsvString()),ne||this.toHexString())},clone:function(){return i(this.toString())},_applyModification:function(j,ee){var ne=j.apply(null,[this].concat([].slice.call(ee)));return this._r=ne._r,this._g=ne._g,this._b=ne._b,this.setAlpha(ne._a),this},lighten:function(){return this._applyModification(E,arguments)},brighten:function(){return this._applyModification(m,arguments)},darken:function(){return this._applyModification(b,arguments)},desaturate:function(){return this._applyModification(_,arguments)},saturate:function(){return this._applyModification(w,arguments)},greyscale:function(){return this._applyModification(M,arguments)},spin:function(){return this._applyModification(v,arguments)},_applyCombination:function(j,ee){return j.apply(null,[this].concat([].slice.call(ee)))},analogous:function(){return this._applyCombination(L,arguments)},complement:function(){return this._applyCombination(u,arguments)},monochromatic:function(){return this._applyCombination(z,arguments)},splitcomplement:function(){return this._applyCombination(P,arguments)},triad:function(){return this._applyCombination(y,arguments)},tetrad:function(){return this._applyCombination(f,arguments)}},i.fromRatio=function(j,ee){if(typeof j=="object"){var ne={};for(var ce in j)j.hasOwnProperty(ce)&&(ce==="a"?ne[ce]=j[ce]:ne[ce]=fe(j[ce]));j=ne}return i(j,ee)};function n(j){var ee={r:0,g:0,b:0},ne=1,ce=null,_e=null,we=null,Oe=!1,Ie=!1;return typeof j=="string"&&(j=re(j)),typeof j=="object"&&(X(j.r)&&X(j.g)&&X(j.b)?(ee=a(j.r,j.g,j.b),Oe=!0,Ie=String(j.r).substr(-1)==="%"?"prgb":"rgb"):X(j.h)&&X(j.s)&&X(j.v)?(ce=fe(j.s),_e=fe(j.v),ee=p(j.h,ce,_e),Oe=!0,Ie="hsv"):X(j.h)&&X(j.s)&&X(j.l)&&(ce=fe(j.s),we=fe(j.l),ee=c(j.h,ce,we),Oe=!0,Ie="hsl"),j.hasOwnProperty("a")&&(ne=j.a)),ne=I(ne),{ok:Oe,format:j.format||Ie,r:t(255,r(ee.r,0)),g:t(255,r(ee.g,0)),b:t(255,r(ee.b,0)),a:ne}}function a(j,ee,ne){return{r:N(j,255)*255,g:N(ee,255)*255,b:N(ne,255)*255}}function s(j,ee,ne){j=N(j,255),ee=N(ee,255),ne=N(ne,255);var ce=r(j,ee,ne),_e=t(j,ee,ne),we,Oe,Ie=(ce+_e)/2;if(ce==_e)we=Oe=0;else{var Xe=ce-_e;switch(Oe=Ie>.5?Xe/(2-ce-_e):Xe/(ce+_e),ce){case j:we=(ee-ne)/Xe+(ee1&&(Je-=1),Je<1/6?tt+(rt-tt)*6*Je:Je<1/2?rt:Je<2/3?tt+(rt-tt)*(2/3-Je)*6:tt}if(ee===0)ce=_e=we=ne;else{var Ie=ne<.5?ne*(1+ee):ne+ee-ne*ee,Xe=2*ne-Ie;ce=Oe(Xe,Ie,j+1/3),_e=Oe(Xe,Ie,j),we=Oe(Xe,Ie,j-1/3)}return{r:ce*255,g:_e*255,b:we*255}}function h(j,ee,ne){j=N(j,255),ee=N(ee,255),ne=N(ne,255);var ce=r(j,ee,ne),_e=t(j,ee,ne),we,Oe,Ie=ce,Xe=ce-_e;if(Oe=ce===0?0:Xe/ce,ce==_e)we=0;else{switch(ce){case j:we=(ee-ne)/Xe+(ee>1)+720)%360;--ee;)ce.h=(ce.h+_e)%360,we.push(i(ce));return we}function z(j,ee){ee=ee||6;for(var ne=i(j).toHsv(),ce=ne.h,_e=ne.s,we=ne.v,Oe=[],Ie=1/ee;ee--;)Oe.push(i({h:ce,s:_e,v:we})),we=(we+Ie)%1;return Oe}i.mix=function(j,ee,ne){ne=ne===0?0:ne||50;var ce=i(j).toRgb(),_e=i(ee).toRgb(),we=ne/100,Oe={r:(_e.r-ce.r)*we+ce.r,g:(_e.g-ce.g)*we+ce.g,b:(_e.b-ce.b)*we+ce.b,a:(_e.a-ce.a)*we+ce.a};return i(Oe)},i.readability=function(j,ee){var ne=i(j),ce=i(ee);return(g.max(ne.getLuminance(),ce.getLuminance())+.05)/(g.min(ne.getLuminance(),ce.getLuminance())+.05)},i.isReadable=function(j,ee,ne){var ce=i.readability(j,ee),_e,we;switch(we=!1,_e=ae(ne),_e.level+_e.size){case"AAsmall":case"AAAlarge":we=ce>=4.5;break;case"AAlarge":we=ce>=3;break;case"AAAsmall":we=ce>=7;break}return we},i.mostReadable=function(j,ee,ne){var ce=null,_e=0,we,Oe,Ie,Xe;ne=ne||{},Oe=ne.includeFallbackColors,Ie=ne.level,Xe=ne.size;for(var tt=0;tt_e&&(_e=we,ce=i(ee[tt]));return i.isReadable(j,ce,{level:Ie,size:Xe})||!Oe?ce:(ne.includeFallbackColors=!1,i.mostReadable(j,["#fff","#000"],ne))};var F=i.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=i.hexNames=B(F);function B(j){var ee={};for(var ne in j)j.hasOwnProperty(ne)&&(ee[j[ne]]=ne);return ee}function I(j){return j=parseFloat(j),(isNaN(j)||j<0||j>1)&&(j=1),j}function N(j,ee){Q(j)&&(j="100%");var ne=le(j);return j=t(ee,r(0,parseFloat(j))),ne&&(j=parseInt(j*ee,10)/100),g.abs(j-ee)<1e-6?1:j%ee/parseFloat(ee)}function U(j){return t(1,r(0,j))}function W(j){return parseInt(j,16)}function Q(j){return typeof j=="string"&&j.indexOf(".")!=-1&&parseFloat(j)===1}function le(j){return typeof j=="string"&&j.indexOf("%")!=-1}function se(j){return j.length==1?"0"+j:""+j}function fe(j){return j<=1&&(j=j*100+"%"),j}function G(j){return g.round(parseFloat(j)*255).toString(16)}function J(j){return W(j)/255}var $=function(){var j="[-\\+]?\\d+%?",ee="[-\\+]?\\d*\\.\\d+%?",ne="(?:"+ee+")|(?:"+j+")",ce="[\\s|\\(]+("+ne+")[,|\\s]+("+ne+")[,|\\s]+("+ne+")\\s*\\)?",_e="[\\s|\\(]+("+ne+")[,|\\s]+("+ne+")[,|\\s]+("+ne+")[,|\\s]+("+ne+")\\s*\\)?";return{CSS_UNIT:new RegExp(ne),rgb:new RegExp("rgb"+ce),rgba:new RegExp("rgba"+_e),hsl:new RegExp("hsl"+ce),hsla:new RegExp("hsla"+_e),hsv:new RegExp("hsv"+ce),hsva:new RegExp("hsva"+_e),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 X(j){return!!$.CSS_UNIT.exec(j)}function re(j){j=j.replace(x,"").replace(A,"").toLowerCase();var ee=!1;if(F[j])j=F[j],ee=!0;else if(j=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var ne;return(ne=$.rgb.exec(j))?{r:ne[1],g:ne[2],b:ne[3]}:(ne=$.rgba.exec(j))?{r:ne[1],g:ne[2],b:ne[3],a:ne[4]}:(ne=$.hsl.exec(j))?{h:ne[1],s:ne[2],l:ne[3]}:(ne=$.hsla.exec(j))?{h:ne[1],s:ne[2],l:ne[3],a:ne[4]}:(ne=$.hsv.exec(j))?{h:ne[1],s:ne[2],v:ne[3]}:(ne=$.hsva.exec(j))?{h:ne[1],s:ne[2],v:ne[3],a:ne[4]}:(ne=$.hex8.exec(j))?{r:W(ne[1]),g:W(ne[2]),b:W(ne[3]),a:J(ne[4]),format:ee?"name":"hex8"}:(ne=$.hex6.exec(j))?{r:W(ne[1]),g:W(ne[2]),b:W(ne[3]),format:ee?"name":"hex"}:(ne=$.hex4.exec(j))?{r:W(ne[1]+""+ne[1]),g:W(ne[2]+""+ne[2]),b:W(ne[3]+""+ne[3]),a:J(ne[4]+""+ne[4]),format:ee?"name":"hex8"}:(ne=$.hex3.exec(j))?{r:W(ne[1]+""+ne[1]),g:W(ne[2]+""+ne[2]),b:W(ne[3]+""+ne[3]),format:ee?"name":"hex"}:!1}function ae(j){var ee,ne;return j=j||{level:"AA",size:"small"},ee=(j.level||"AA").toUpperCase(),ne=(j.size||"small").toLowerCase(),ee!=="AA"&&ee!=="AAA"&&(ee="AA"),ne!=="small"&&ne!=="large"&&(ne="small"),{level:ee,size:ne}}typeof H<"u"&&H.exports?H.exports=i:window.tinycolor=i})(Math)}}),ho=Le({"src/lib/extend.js"(Z){"use strict";var H=$s(),g=Array.isArray;function x(S,e){var t,r;for(t=0;t=0)))return i;if(h===3)s[h]>1&&(s[h]=1);else if(s[h]>=1)return i}var p=Math.round(s[0]*255)+", "+Math.round(s[1]*255)+", "+Math.round(s[2]*255);return c?"rgba("+p+", "+s[3]+")":"rgb("+p+")"}}}),Iv=Le({"src/constants/interactions.js"(Z,H){"use strict";H.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}}}),no=Le({"src/lib/regex.js"(Z){"use strict";Z.counter=function(H,g,x,A){var S=(g||"")+(x?"":"$"),e=A===!1?"":"^";return H==="xy"?new RegExp(e+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+S):new RegExp(e+H+"([2-9]|[1-9][0-9]+)?"+S)}}}),Ro=Le({"src/lib/coerce.js"(Z){"use strict";var H=zn(),g=Vl(),x=ho().extendFlat,A=Sl(),S=lp(),e=$a(),t=Iv().DESELECTDIM,r=jl(),o=no().counter,i=Vu().modHalf,n=cl().isArrayOrTypedArray,a=cl().isTypedArraySpec,s=cl().decodeTypedArraySpec;Z.valObjectMeta={data_array:{coerceFunction:function(h,p,d){p.set(n(h)?h:a(h)?s(h):d)}},enumerated:{coerceFunction:function(h,p,d,T){T.coerceNumber&&(h=+h),T.values.indexOf(h)===-1?p.set(d):p.set(h)},validateFunction:function(h,p){p.coerceNumber&&(h=+h);for(var d=p.values,T=0;TT.max?p.set(d):p.set(+h)}},integer:{coerceFunction:function(h,p,d,T){if((T.extras||[]).indexOf(h)!==-1){p.set(h);return}a(h)&&(h=s(h)),h%1||!H(h)||T.min!==void 0&&hT.max?p.set(d):p.set(+h)}},string:{coerceFunction:function(h,p,d,T){if(typeof h!="string"){var l=typeof h=="number";T.strict===!0||!l?p.set(d):p.set(String(h))}else T.noBlank&&!h?p.set(d):p.set(h)}},color:{coerceFunction:function(h,p,d){a(h)&&(h=s(h)),g(h).isValid()?p.set(h):p.set(d)}},colorlist:{coerceFunction:function(h,p,d){function T(l){return g(l).isValid()}!Array.isArray(h)||!h.length?p.set(d):h.every(T)?p.set(h):p.set(d)}},colorscale:{coerceFunction:function(h,p,d){p.set(S.get(h,d))}},angle:{coerceFunction:function(h,p,d){a(h)&&(h=s(h)),h==="auto"?p.set("auto"):H(h)?p.set(i(+h,360)):p.set(d)}},subplotid:{coerceFunction:function(h,p,d,T){var l=T.regex||o(d);if(typeof h=="string"&&l.test(h)){p.set(h);return}p.set(d)},validateFunction:function(h,p){var d=p.dflt;return h===d?!0:typeof h!="string"?!1:!!o(d).test(h)}},flaglist:{coerceFunction:function(h,p,d,T){if((T.extras||[]).indexOf(h)!==-1){p.set(h);return}if(typeof h!="string"){p.set(d);return}for(var l=h.split("+"),_=0;_/g),h=0;h1){var e=["LOG:"];for(S=0;S1){var t=[];for(S=0;S"),"long")}},A.warn=function(){var S;if(g.logging>0){var e=["WARN:"];for(S=0;S0){var t=[];for(S=0;S"),"stick")}},A.error=function(){var S;if(g.logging>0){var e=["ERROR:"];for(S=0;S0){var t=[];for(S=0;S"),"stick")}}}}),jo=Le({"src/lib/noop.js"(Z,H){"use strict";H.exports=function(){}}}),ms=Le({"src/lib/push_unique.js"(Z,H){"use strict";H.exports=function(x,A){if(A instanceof RegExp){for(var S=A.toString(),e=0;e0){for(var r=[],o=0;o=l&&F<=_?F:e}if(typeof F!="string"&&typeof F!="number")return e;F=String(F);var U=d(O),W=F.charAt(0);U&&(W==="G"||W==="g")&&(F=F.substr(1),O="");var Q=U&&O.substr(0,7)==="chinese",le=F.match(Q?h:c);if(!le)return e;var se=le[1],fe=le[3]||"1",G=Number(le[5]||1),J=Number(le[7]||0),$=Number(le[9]||0),X=Number(le[11]||0);if(U){if(se.length===2)return e;se=Number(se);var re;try{var ae=a.getComponentMethod("calendars","getCal")(O);if(Q){var j=fe.charAt(fe.length-1)==="i";fe=parseInt(fe,10),re=ae.newDate(se,ae.toMonthIndex(se,fe,j),G)}else re=ae.newDate(se,Number(fe),G)}catch{return e}return re?(re.toJD()-n)*t+J*r+$*o+X*i:e}se.length===2?se=(Number(se)+2e3-p)%100+p:se=Number(se),fe-=1;var ee=new Date(Date.UTC(2e3,fe,G,J,$));return ee.setUTCFullYear(se),ee.getUTCMonth()!==fe||ee.getUTCDate()!==G?e:ee.getTime()+X*i},l=Z.MIN_MS=Z.dateTime2ms("-9999"),_=Z.MAX_MS=Z.dateTime2ms("9999-12-31 23:59:59.9999"),Z.isDateTime=function(F,O){return Z.dateTime2ms(F,O)!==e};function w(F,O){return String(F+Math.pow(10,O)).substr(1)}var M=90*t,E=3*r,m=5*o;Z.ms2DateTime=function(F,O,B){if(typeof F!="number"||!(F>=l&&F<=_))return e;O||(O=0);var I=Math.floor(A(F+.05,1)*10),N=Math.round(F-I/10),U,W,Q,le,se,fe;if(d(B)){var G=Math.floor(N/t)+n,J=Math.floor(A(F,t));try{U=a.getComponentMethod("calendars","getCal")(B).fromJD(G).formatDate("yyyy-mm-dd")}catch{U=s("G%Y-%m-%d")(new Date(N))}if(U.charAt(0)==="-")for(;U.length<11;)U="-0"+U.substr(1);else for(;U.length<10;)U="0"+U;W=O=l+t&&F<=_-t))return e;var O=Math.floor(A(F+.05,1)*10),B=new Date(Math.round(F-O/10)),I=H("%Y-%m-%d")(B),N=B.getHours(),U=B.getMinutes(),W=B.getSeconds(),Q=B.getUTCMilliseconds()*10+O;return b(I,N,U,W,Q)};function b(F,O,B,I,N){if((O||B||I||N)&&(F+=" "+w(O,2)+":"+w(B,2),(I||N)&&(F+=":"+w(I,2),N))){for(var U=4;N%10===0;)U-=1,N/=10;F+="."+w(N,U)}return F}Z.cleanDate=function(F,O,B){if(F===e)return O;if(Z.isJSDate(F)||typeof F=="number"&&isFinite(F)){if(d(B))return x.error("JS Dates and milliseconds are incompatible with world calendars",F),O;if(F=Z.ms2DateTimeLocal(+F),!F&&O!==void 0)return O}else if(!Z.isDateTime(F,B))return x.error("unrecognized date",F),O;return F};var v=/%\d?f/g,u=/%h/g,y={1:"1",2:"1",3:"2",4:"2"};function f(F,O,B,I){F=F.replace(v,function(U){var W=Math.min(+U.charAt(1)||6,6),Q=(O/1e3%1+2).toFixed(W).substr(2).replace(/0+$/,"")||"0";return Q});var N=new Date(Math.floor(O+.05));if(F=F.replace(u,function(){return y[B("%q")(N)]}),d(I))try{F=a.getComponentMethod("calendars","worldCalFmt")(F,O,I)}catch{return"Invalid"}return B(F)(N)}var P=[59,59.9,59.99,59.999,59.9999];function L(F,O){var B=A(F+.05,t),I=w(Math.floor(B/r),2)+":"+w(A(Math.floor(B/o),60),2);if(O!=="M"){g(O)||(O=0);var N=Math.min(A(F/i,60),P[O]),U=(100+N).toFixed(O).substr(1);O>0&&(U=U.replace(/0+$/,"").replace(/[\.]$/,"")),I+=":"+U}return I}Z.formatDate=function(F,O,B,I,N,U){if(N=d(N)&&N,!O)if(B==="y")O=U.year;else if(B==="m")O=U.month;else if(B==="d")O=U.dayMonth+`
+`)};function It(zr){return zr.map(sr).join(de)}function sr(zr){return Ke.test(zr)?'"'+zr.replace(/\"/g,'""')+'"':zr}return dt},p.csv=p.dsv(",","text/csv"),p.tsv=p.dsv(" ","text/tab-separated-values");var Ii,Bn,hn,ba,Aa=this[B(this,"requestAnimationFrame")]||function(de){setTimeout(de,17)};p.timer=function(){Va.apply(this,arguments)};function Va(de,Re,Ke){var ft=arguments.length;ft<2&&(Re=0),ft<3&&(Ke=Date.now());var dt=Ke+Re,xt={c:de,t:dt,n:null};return Bn?Bn.n=xt:Ii=xt,Bn=xt,hn||(ba=clearTimeout(ba),hn=1,Aa(Qa)),xt}function Qa(){var de=yo(),Re=Ga()-de;Re>24?(isFinite(Re)&&(clearTimeout(ba),ba=setTimeout(Qa,Re)),hn=0):(hn=1,Aa(Qa))}p.timer.flush=function(){yo(),Ga()};function yo(){for(var de=Date.now(),Re=Ii;Re;)de>=Re.t&&Re.c(de-Re.t)&&(Re.c=null),Re=Re.n;return de}function Ga(){for(var de,Re=Ii,Ke=1/0;Re;)Re.c?(Re.t=0;--It)Si.push(dt[zr[bi[It]][2]]);for(It=+Ki;It1&&yt(de[Ke[ft-2]],de[Ke[ft-1]],de[dt])<=0;)--ft;Ke[ft++]=dt}return Ke.slice(0,ft)}function es(de,Re){return de[0]-Re[0]||de[1]-Re[1]}p.geom.polygon=function(de){return G(de,bs),de};var bs=p.geom.polygon.prototype=[];bs.area=function(){for(var de=-1,Re=this.length,Ke,ft=this[Re-1],dt=0;++deZe)It=It.L;else if(Jt=Re-ko(It,Ke),Jt>Ze){if(!It.R){ft=It;break}It=It.R}else{xt>-Ze?(ft=It.P,dt=It):Jt>-Ze?(ft=It,dt=It.N):ft=dt=It;break}var sr=ps(de);if(gs.insert(ft,sr),!(!ft&&!dt)){if(ft===dt){Ho(ft),dt=ps(ft.site),gs.insert(sr,dt),sr.edge=dt.edge=tu(ft.site,sr.site),aa(ft),aa(dt);return}if(!dt){sr.edge=tu(ft.site,sr.site);return}Ho(ft),Ho(dt);var zr=ft.site,Or=zr.x,bi=zr.y,gi=de.x-Or,Ki=de.y-bi,rn=dt.site,Si=rn.x-Or,Ui=rn.y-bi,Xi=2*(gi*Ui-Ki*Si),ln=gi*gi+Ki*Ki,nn=Si*Si+Ui*Ui,ji={x:(Ui*ln-Ki*nn)/Xi+Or,y:(gi*nn-Si*ln)/Xi+bi};kl(dt.edge,zr,rn,ji),sr.edge=tu(zr,de,null,ji),dt.edge=tu(de,rn,null,ji),aa(ft),aa(dt)}}function Ys(de,Re){var Ke=de.site,ft=Ke.x,dt=Ke.y,xt=dt-Re;if(!xt)return ft;var Jt=de.P;if(!Jt)return-1/0;Ke=Jt.site;var It=Ke.x,sr=Ke.y,zr=sr-Re;if(!zr)return It;var Or=It-ft,bi=1/xt-1/zr,gi=Or/zr;return bi?(-gi+Math.sqrt(gi*gi-2*bi*(Or*Or/(-2*zr)-sr+zr/2+dt-xt/2)))/bi+ft:(ft+It)/2}function ko(de,Re){var Ke=de.N;if(Ke)return Ys(Ke,Re);var ft=de.site;return ft.y===Re?ft.x:1/0}function Js(de){this.site=de,this.edges=[]}Js.prototype.prepare=function(){for(var de=this.edges,Re=de.length,Ke;Re--;)Ke=de[Re].edge,(!Ke.b||!Ke.a)&&de.splice(Re,1);return de.sort(ml),de.length};function ks(de){for(var Re=de[0][0],Ke=de[1][0],ft=de[0][1],dt=de[1][1],xt,Jt,It,sr,zr=ss,Or=zr.length,bi,gi,Ki,rn,Si,Ui;Or--;)if(bi=zr[Or],!(!bi||!bi.prepare()))for(Ki=bi.edges,rn=Ki.length,gi=0;giZe||l(sr-Jt)>Ze)&&(Ki.splice(gi,0,new Hu(Ju(bi.site,Ui,l(It-Re)Ze?{x:Re,y:l(xt-Re)Ze?{x:l(Jt-dt)Ze?{x:Ke,y:l(xt-Ke)Ze?{x:l(Jt-ft)=-Ne)){var gi=sr*sr+zr*zr,Ki=Or*Or+Ui*Ui,rn=(Ui*gi-zr*Ki)/bi,Si=(sr*Ki-Or*gi)/bi,Ui=Si+It,Xi=Hs.pop()||new El;Xi.arc=de,Xi.site=dt,Xi.x=rn+Jt,Xi.y=Ui+Math.sqrt(rn*rn+Si*Si),Xi.cy=Ui,de.circle=Xi;for(var ln=null,nn=Ds._;nn;)if(Xi.y0)){if(Si/=Ki,Ki<0){if(Si0){if(Si>gi)return;Si>bi&&(bi=Si)}if(Si=Ke-It,!(!Ki&&Si<0)){if(Si/=Ki,Ki<0){if(Si>gi)return;Si>bi&&(bi=Si)}else if(Ki>0){if(Si0)){if(Si/=rn,rn<0){if(Si0){if(Si>gi)return;Si>bi&&(bi=Si)}if(Si=ft-sr,!(!rn&&Si<0)){if(Si/=rn,rn<0){if(Si>gi)return;Si>bi&&(bi=Si)}else if(rn>0){if(Si0&&(dt.a={x:It+bi*Ki,y:sr+bi*rn}),gi<1&&(dt.b={x:It+gi*Ki,y:sr+gi*rn}),dt}}}}}}function zs(de){for(var Re=Qo,Ke=po(de[0][0],de[0][1],de[1][0],de[1][1]),ft=Re.length,dt;ft--;)dt=Re[ft],(!hs(dt,de)||!Ke(dt)||l(dt.a.x-dt.b.x)=xt)return;if(Or>gi){if(!ft)ft={x:rn,y:Jt};else if(ft.y>=It)return;Ke={x:rn,y:It}}else{if(!ft)ft={x:rn,y:It};else if(ft.y1)if(Or>gi){if(!ft)ft={x:(Jt-Xi)/Ui,y:Jt};else if(ft.y>=It)return;Ke={x:(It-Xi)/Ui,y:It}}else{if(!ft)ft={x:(It-Xi)/Ui,y:It};else if(ft.y=xt)return;Ke={x:xt,y:Ui*xt+Xi}}else{if(!ft)ft={x:xt,y:Ui*xt+Xi};else if(ft.x=Or&&Xi.x<=gi&&Xi.y>=bi&&Xi.y<=Ki?[[Or,Ki],[gi,Ki],[gi,bi],[Or,bi]]:[];ln.point=sr[Si]}),zr}function It(sr){return sr.map(function(zr,Or){return{x:Math.round(ft(zr,Or)/Ze)*Ze,y:Math.round(dt(zr,Or)/Ze)*Ze,i:Or}})}return Jt.links=function(sr){return Qu(It(sr)).edges.filter(function(zr){return zr.l&&zr.r}).map(function(zr){return{source:sr[zr.l.i],target:sr[zr.r.i]}})},Jt.triangles=function(sr){var zr=[];return Qu(It(sr)).cells.forEach(function(Or,bi){for(var gi=Or.site,Ki=Or.edges.sort(ml),rn=-1,Si=Ki.length,Ui,Xi,ln=Ki[Si-1].edge,nn=ln.l===gi?ln.r:ln.l;++rnnn&&(nn=Or.x),Or.y>ji&&(ji=Or.y),Ki.push(Or.x),rn.push(Or.y);else for(Si=0;Sinn&&(nn=Kn),ia>ji&&(ji=ia),Ki.push(Kn),rn.push(ia)}var ga=nn-Xi,ka=ji-ln;ga>ka?ji=ln+ga:nn=Xi+ka;function ro(lo,ts,ul,nl,xl,oa,wo,ws){if(!(isNaN(ul)||isNaN(nl)))if(lo.leaf){var Cs=lo.x,Al=lo.y;if(Cs!=null)if(l(Cs-ul)+l(Al-nl)<.01)ao(lo,ts,ul,nl,xl,oa,wo,ws);else{var Gl=lo.point;lo.x=lo.y=lo.point=null,ao(lo,Gl,Cs,Al,xl,oa,wo,ws),ao(lo,ts,ul,nl,xl,oa,wo,ws)}else lo.x=ul,lo.y=nl,lo.point=ts}else ao(lo,ts,ul,nl,xl,oa,wo,ws)}function ao(lo,ts,ul,nl,xl,oa,wo,ws){var Cs=(xl+wo)*.5,Al=(oa+ws)*.5,Gl=ul>=Cs,xu=nl>=Al,Ul=xu<<1|Gl;lo.leaf=!1,lo=lo.nodes[Ul]||(lo.nodes[Ul]=ru()),Gl?xl=Cs:wo=Cs,xu?oa=Al:ws=Al,ro(lo,ts,ul,nl,xl,oa,wo,ws)}var is=ru();if(is.add=function(lo){ro(is,lo,+bi(lo,++Si),+gi(lo,Si),Xi,ln,nn,ji)},is.visit=function(lo){Cl(lo,is,Xi,ln,nn,ji)},is.find=function(lo){return fc(is,lo[0],lo[1],Xi,ln,nn,ji)},Si=-1,Re==null){for(;++Sixt||gi>Jt||Ki=Kn,ka=Ke>=ia,ro=ka<<1|ga,ao=ro+4;roKe&&(xt=Re.slice(Ke,xt),It[Jt]?It[Jt]+=xt:It[++Jt]=xt),(ft=ft[0])===(dt=dt[0])?It[Jt]?It[Jt]+=dt:It[++Jt]=dt:(It[++Jt]=null,sr.push({i:Jt,x:Ll(ft,dt)})),Ke=hc.lastIndex;return Ke=0&&!(ft=p.interpolators[Ke](de,Re)););return ft}p.interpolators=[function(de,Re){var Ke=typeof Re;return(Ke==="string"?gr.has(Re.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(Re)?Ac:Ks:Re instanceof vn?Ac:Array.isArray(Re)?ec:Ke==="object"&&isNaN(Re)?ol:Ll)(de,Re)}],p.interpolateArray=ec;function ec(de,Re){var Ke=[],ft=[],dt=de.length,xt=Re.length,Jt=Math.min(de.length,Re.length),It;for(It=0;It=0?de.slice(0,Re):de,ft=Re>=0?de.slice(Re+1):"in";return Ke=jh.get(Ke)||hl,ft=ys.get(ft)||F,Lh(ft(Ke.apply(null,x.call(arguments,1))))};function Lh(de){return function(Re){return Re<=0?0:Re>=1?1:de(Re)}}function Us(de){return function(Re){return 1-de(1-Re)}}function Wo(de){return function(Re){return .5*(Re<.5?de(2*Re):2-de(2-2*Re))}}function ff(de){return de*de}function tc(de){return de*de*de}function yu(de){if(de<=0)return 0;if(de>=1)return 1;var Re=de*de,Ke=Re*de;return 4*(de<.5?Ke:3*(de-Re)+Ke-.75)}function Uf(de){return function(Re){return Math.pow(Re,de)}}function Oc(de){return 1-Math.cos(de*be)}function hf(de){return Math.pow(2,10*(de-1))}function Xl(de){return 1-Math.sqrt(1-de*de)}function rh(de,Re){var Ke;return arguments.length<2&&(Re=.45),arguments.length?Ke=Re/Ve*Math.asin(1/de):(de=1,Ke=Re/4),function(ft){return 1+de*Math.pow(2,-10*ft)*Math.sin((ft-Ke)*Ve/Re)}}function jf(de){return de||(de=1.70158),function(Re){return Re*Re*((de+1)*Re-de)}}function Cf(de){return de<1/2.75?7.5625*de*de:de<2/2.75?7.5625*(de-=1.5/2.75)*de+.75:de<2.5/2.75?7.5625*(de-=2.25/2.75)*de+.9375:7.5625*(de-=2.625/2.75)*de+.984375}p.interpolateHcl=Jc;function Jc(de,Re){de=p.hcl(de),Re=p.hcl(Re);var Ke=de.h,ft=de.c,dt=de.l,xt=Re.h-Ke,Jt=Re.c-ft,It=Re.l-dt;return isNaN(Jt)&&(Jt=0,ft=isNaN(ft)?Re.c:ft),isNaN(xt)?(xt=0,Ke=isNaN(Ke)?Re.h:Ke):xt>180?xt-=360:xt<-180&&(xt+=360),function(sr){return Zr(Ke+xt*sr,ft+Jt*sr,dt+It*sr)+""}}p.interpolateHsl=Vf;function Vf(de,Re){de=p.hsl(de),Re=p.hsl(Re);var Ke=de.h,ft=de.s,dt=de.l,xt=Re.h-Ke,Jt=Re.s-ft,It=Re.l-dt;return isNaN(Jt)&&(Jt=0,ft=isNaN(ft)?Re.s:ft),isNaN(xt)?(xt=0,Ke=isNaN(Ke)?Re.h:Ke):xt>180?xt-=360:xt<-180&&(xt+=360),function(sr){return qt(Ke+xt*sr,ft+Jt*sr,dt+It*sr)+""}}p.interpolateLab=ih;function ih(de,Re){de=p.lab(de),Re=p.lab(Re);var Ke=de.l,ft=de.a,dt=de.b,xt=Re.l-Ke,Jt=Re.a-ft,It=Re.b-dt;return function(sr){return sn(Ke+xt*sr,ft+Jt*sr,dt+It*sr)+""}}p.interpolateRound=rc;function rc(de,Re){return Re-=de,function(Ke){return Math.round(de+Re*Ke)}}p.transform=function(de){var Re=S.createElementNS(p.ns.prefix.svg,"g");return(p.transform=function(Ke){if(Ke!=null){Re.setAttribute("transform",Ke);var ft=Re.transform.baseVal.consolidate()}return new Lf(ft?ft.matrix:_f)})(de)};function Lf(de){var Re=[de.a,de.b],Ke=[de.c,de.d],ft=Qc(Re),dt=Nc(Re,Ke),xt=Qc(Pu(Ke,Re,-dt))||0;Re[0]*Ke[1]180?Re+=360:Re-de>180&&(de+=360),ft.push({i:Ke.push(Uc(Ke)+"rotate(",null,")")-2,x:Ll(de,Re)})):Re&&Ke.push(Uc(Ke)+"rotate("+Re+")")}function Ph(de,Re,Ke,ft){de!==Re?ft.push({i:Ke.push(Uc(Ke)+"skewX(",null,")")-2,x:Ll(de,Re)}):Re&&Ke.push(Uc(Ke)+"skewX("+Re+")")}function nh(de,Re,Ke,ft){if(de[0]!==Re[0]||de[1]!==Re[1]){var dt=Ke.push(Uc(Ke)+"scale(",null,",",null,")");ft.push({i:dt-4,x:Ll(de[0],Re[0])},{i:dt-2,x:Ll(de[1],Re[1])})}else(Re[0]!==1||Re[1]!==1)&&Ke.push(Uc(Ke)+"scale("+Re+")")}function df(de,Re){var Ke=[],ft=[];return de=p.transform(de),Re=p.transform(Re),Qs(de.translate,Re.translate,Ke,ft),qf(de.rotate,Re.rotate,Ke,ft),Ph(de.skew,Re.skew,Ke,ft),nh(de.scale,Re.scale,Ke,ft),de=Re=null,function(dt){for(var xt=-1,Jt=ft.length,It;++xt0?xt=ji:(Ke.c=null,Ke.t=NaN,Ke=null,Re.end({type:"end",alpha:xt=0})):ji>0&&(Re.start({type:"start",alpha:xt=ji}),Ke=Va(de.tick)),de):xt},de.start=function(){var ji,Kn=Ki.length,ia=rn.length,ga=ft[0],ka=ft[1],ro,ao;for(ji=0;ji=0;)xt.push(Or=zr[sr]),Or.parent=It,Or.depth=It.depth+1;Ke&&(It.value=0),It.children=zr}else Ke&&(It.value=+Ke.call(ft,It,It.depth)||0),delete It.children;return dc(dt,function(bi){var gi,Ki;de&&(gi=bi.children)&&gi.sort(de),Ke&&(Ki=bi.parent)&&(Ki.value+=bi.value)}),Jt}return ft.sort=function(dt){return arguments.length?(de=dt,ft):de},ft.children=function(dt){return arguments.length?(Re=dt,ft):Re},ft.value=function(dt){return arguments.length?(Ke=dt,ft):Ke},ft.revalue=function(dt){return Ke&&(Sc(dt,function(xt){xt.children&&(xt.value=0)}),dc(dt,function(xt){var Jt;xt.children||(xt.value=+Ke.call(ft,xt,xt.depth)||0),(Jt=xt.parent)&&(Jt.value+=xt.value)})),dt},ft};function Wu(de,Re){return p.rebind(de,Re,"sort","children","value"),de.nodes=de,de.links=Du,de}function Sc(de,Re){for(var Ke=[de];(de=Ke.pop())!=null;)if(Re(de),(dt=de.children)&&(ft=dt.length))for(var ft,dt;--ft>=0;)Ke.push(dt[ft])}function dc(de,Re){for(var Ke=[de],ft=[];(de=Ke.pop())!=null;)if(ft.push(de),(Jt=de.children)&&(xt=Jt.length))for(var dt=-1,xt,Jt;++dtdt&&(dt=It),ft.push(It)}for(Jt=0;Jtft&&(Ke=Re,ft=dt);return Ke}function dl(de){return de.reduce(pf,0)}function pf(de,Re){return de+Re[1]}p.layout.histogram=function(){var de=!0,Re=Number,Ke=bf,ft=Ec;function dt(xt,gi){for(var It=[],sr=xt.map(Re,this),zr=Ke.call(this,sr,gi),Or=ft.call(this,zr,sr,gi),bi,gi=-1,Ki=sr.length,rn=Or.length-1,Si=de?1:1/Ki,Ui;++gi0)for(gi=-1;++gi=zr[0]&&Ui<=zr[1]&&(bi=It[p.bisect(Or,Ui,1,rn)-1],bi.y+=Si,bi.push(xt[gi]));return It}return dt.value=function(xt){return arguments.length?(Re=xt,dt):Re},dt.range=function(xt){return arguments.length?(Ke=ti(xt),dt):Ke},dt.bins=function(xt){return arguments.length?(ft=typeof xt=="number"?function(Jt){return Xu(Jt,xt)}:ti(xt),dt):ft},dt.frequency=function(xt){return arguments.length?(de=!!xt,dt):de},dt};function Ec(de,Re){return Xu(de,Math.ceil(Math.log(Re.length)/Math.LN2+1))}function Xu(de,Re){for(var Ke=-1,ft=+de[0],dt=(de[1]-ft)/Re,xt=[];++Ke<=Re;)xt[Ke]=dt*Ke+ft;return xt}function bf(de){return[p.min(de),p.max(de)]}p.layout.pack=function(){var de=p.layout.hierarchy().sort(vc),Re=0,Ke=[1,1],ft;function dt(xt,Jt){var It=de.call(this,xt,Jt),sr=It[0],zr=Ke[0],Or=Ke[1],bi=ft==null?Math.sqrt:typeof ft=="function"?ft:function(){return ft};if(sr.x=sr.y=0,dc(sr,function(Ki){Ki.r=+bi(Ki.value)}),dc(sr,Wf),Re){var gi=Re*(ft?1:Math.max(2*sr.r/zr,2*sr.r/Or))/2;dc(sr,function(Ki){Ki.r+=gi}),dc(sr,Wf),dc(sr,function(Ki){Ki.r-=gi})}return pc(sr,zr/2,Or/2,ft?1:1/Math.max(2*sr.r/zr,2*sr.r/Or)),It}return dt.size=function(xt){return arguments.length?(Ke=xt,dt):Ke},dt.radius=function(xt){return arguments.length?(ft=xt==null||typeof xt=="function"?xt:+xt,dt):ft},dt.padding=function(xt){return arguments.length?(Re=+xt,dt):Re},Wu(dt,de)};function vc(de,Re){return de.value-Re.value}function tf(de,Re){var Ke=de._pack_next;de._pack_next=Re,Re._pack_prev=de,Re._pack_next=Ke,Ke._pack_prev=Re}function Gf(de,Re){de._pack_next=Re,Re._pack_prev=de}function Jl(de,Re){var Ke=Re.x-de.x,ft=Re.y-de.y,dt=de.r+Re.r;return .999*dt*dt>Ke*Ke+ft*ft}function Wf(de){if(!(Re=de.children)||!(gi=Re.length))return;var Re,Ke=1/0,ft=-1/0,dt=1/0,xt=-1/0,Jt,It,sr,zr,Or,bi,gi;function Ki(ji){Ke=Math.min(ji.x-ji.r,Ke),ft=Math.max(ji.x+ji.r,ft),dt=Math.min(ji.y-ji.r,dt),xt=Math.max(ji.y+ji.r,xt)}if(Re.forEach(Zu),Jt=Re[0],Jt.x=-Jt.r,Jt.y=0,Ki(Jt),gi>1&&(It=Re[1],It.x=It.r,It.y=0,Ki(It),gi>2))for(sr=Re[2],Nl(Jt,It,sr),Ki(sr),tf(Jt,sr),Jt._pack_prev=sr,tf(sr,It),It=Jt._pack_next,zr=3;zrUi.x&&(Ui=Kn),Kn.depth>Xi.depth&&(Xi=Kn)});var ln=Re(Si,Ui)/2-Si.x,nn=Ke[0]/(Ui.x+Re(Ui,Si)/2+ln),ji=Ke[1]/(Xi.depth||1);Sc(Ki,function(Kn){Kn.x=(Kn.x+ln)*nn,Kn.y=Kn.depth*ji})}return gi}function xt(Or){for(var bi={A:null,children:[Or]},gi=[bi],Ki;(Ki=gi.pop())!=null;)for(var rn=Ki.children,Si,Ui=0,Xi=rn.length;Ui0&&(nc(Zt(Si,Or,gi),Or,Kn),Xi+=Kn,ln+=Kn),nn+=Si.m,Xi+=Ki.m,ji+=Ui.m,ln+=rn.m;Si&&!Vc(rn)&&(rn.t=Si,rn.m+=nn-ln),Ki&&!mc(Ui)&&(Ui.t=Ki,Ui.m+=Xi-ji,gi=Or)}return gi}function zr(Or){Or.x*=Ke[0],Or.y=Or.depth*Ke[1]}return dt.separation=function(Or){return arguments.length?(Re=Or,dt):Re},dt.size=function(Or){return arguments.length?(ft=(Ke=Or)==null?zr:null,dt):ft?null:Ke},dt.nodeSize=function(Or){return arguments.length?(ft=(Ke=Or)==null?null:zr,dt):ft?Ke:null},Wu(dt,de)};function hu(de,Re){return de.parent==Re.parent?1:2}function mc(de){var Re=de.children;return Re.length?Re[0]:de.t}function Vc(de){var Re=de.children,Ke;return(Ke=Re.length)?Re[Ke-1]:de.t}function nc(de,Re,Ke){var ft=Ke/(Re.i-de.i);Re.c-=ft,Re.s+=Ke,de.c+=ft,Re.z+=Ke,Re.m+=Ke}function rf(de){for(var Re=0,Ke=0,ft=de.children,dt=ft.length,xt;--dt>=0;)xt=ft[dt],xt.z+=Re,xt.m+=Re,Re+=xt.s+(Ke+=xt.c)}function Zt(de,Re,Ke){return de.a.parent===Re.parent?de.a:Ke}p.layout.cluster=function(){var de=p.layout.hierarchy().sort(null).value(null),Re=hu,Ke=[1,1],ft=!1;function dt(xt,Jt){var It=de.call(this,xt,Jt),sr=It[0],zr,Or=0;dc(sr,function(Si){var Ui=Si.children;Ui&&Ui.length?(Si.x=Kr(Ui),Si.y=hr(Ui)):(Si.x=zr?Or+=Re(Si,zr):0,Si.y=0,zr=Si)});var bi=qr(sr),gi=ki(sr),Ki=bi.x-Re(bi,gi)/2,rn=gi.x+Re(gi,bi)/2;return dc(sr,ft?function(Si){Si.x=(Si.x-sr.x)*Ke[0],Si.y=(sr.y-Si.y)*Ke[1]}:function(Si){Si.x=(Si.x-Ki)/(rn-Ki)*Ke[0],Si.y=(1-(sr.y?Si.y/sr.y:1))*Ke[1]}),It}return dt.separation=function(xt){return arguments.length?(Re=xt,dt):Re},dt.size=function(xt){return arguments.length?(ft=(Ke=xt)==null,dt):ft?null:Ke},dt.nodeSize=function(xt){return arguments.length?(ft=(Ke=xt)!=null,dt):ft?Ke:null},Wu(dt,de)};function hr(de){return 1+p.max(de,function(Re){return Re.y})}function Kr(de){return de.reduce(function(Re,Ke){return Re+Ke.x},0)/de.length}function qr(de){var Re=de.children;return Re&&Re.length?qr(Re[0]):de}function ki(de){var Re=de.children,Ke;return Re&&(Ke=Re.length)?ki(Re[Ke-1]):de}p.layout.treemap=function(){var de=p.layout.hierarchy(),Re=Math.round,Ke=[1,1],ft=null,dt=an,xt=!1,Jt,It="squarify",sr=.5*(1+Math.sqrt(5));function zr(Si,Ui){for(var Xi=-1,ln=Si.length,nn,ji;++Xi0;)ln.push(ji=nn[ka-1]),ln.area+=ji.area,It!=="squarify"||(ia=gi(ln,ga))<=Kn?(nn.pop(),Kn=ia):(ln.area-=ln.pop().area,Ki(ln,ga,Xi,!1),ga=Math.min(Xi.dx,Xi.dy),ln.length=ln.area=0,Kn=1/0);ln.length&&(Ki(ln,ga,Xi,!0),ln.length=ln.area=0),Ui.forEach(Or)}}function bi(Si){var Ui=Si.children;if(Ui&&Ui.length){var Xi=dt(Si),ln=Ui.slice(),nn,ji=[];for(zr(ln,Xi.dx*Xi.dy/Si.value),ji.area=0;nn=ln.pop();)ji.push(nn),ji.area+=nn.area,nn.z!=null&&(Ki(ji,nn.z?Xi.dx:Xi.dy,Xi,!ln.length),ji.length=ji.area=0);Ui.forEach(bi)}}function gi(Si,Ui){for(var Xi=Si.area,ln,nn=0,ji=1/0,Kn=-1,ia=Si.length;++Knnn&&(nn=ln));return Xi*=Xi,Ui*=Ui,Xi?Math.max(Ui*nn*sr/Xi,Xi/(Ui*ji*sr)):1/0}function Ki(Si,Ui,Xi,ln){var nn=-1,ji=Si.length,Kn=Xi.x,ia=Xi.y,ga=Ui?Re(Si.area/Ui):0,ka;if(Ui==Xi.dx){for((ln||ga>Xi.dy)&&(ga=Xi.dy);++nnXi.dx)&&(ga=Xi.dx);++nn1);return de+Re*ft*Math.sqrt(-2*Math.log(xt)/xt)}},logNormal:function(){var de=p.random.normal.apply(p,arguments);return function(){return Math.exp(de())}},bates:function(de){var Re=p.random.irwinHall(de);return function(){return Re()/de}},irwinHall:function(de){return function(){for(var Re=0,Ke=0;Ke2?cn:ra,zr=ft?Iu:hh;return dt=sr(de,Re,zr,Ke),xt=sr(Re,de,zr,Wl),It}function It(sr){return dt(sr)}return It.invert=function(sr){return xt(sr)},It.domain=function(sr){return arguments.length?(de=sr.map(Number),Jt()):de},It.range=function(sr){return arguments.length?(Re=sr,Jt()):Re},It.rangeRound=function(sr){return It.range(sr).interpolate(rc)},It.clamp=function(sr){return arguments.length?(ft=sr,Jt()):ft},It.interpolate=function(sr){return arguments.length?(Ke=sr,Jt()):Ke},It.ticks=function(sr){return Mo(de,sr)},It.tickFormat=function(sr,zr){return d3_scale_linearTickFormat(de,sr,zr)},It.nice=function(sr){return uo(de,sr),Jt()},It.copy=function(){return xa(de,Re,Ke,ft)},Jt()}function mo(de,Re){return p.rebind(de,Re,"range","rangeRound","interpolate","clamp")}function uo(de,Re){return yn(de,In(go(de,Re)[2])),yn(de,In(go(de,Re)[2])),de}function go(de,Re){Re==null&&(Re=10);var Ke=Pn(de),ft=Ke[1]-Ke[0],dt=Math.pow(10,Math.floor(Math.log(ft/Re)/Math.LN10)),xt=Re/ft*dt;return xt<=.15?dt*=10:xt<=.35?dt*=5:xt<=.75&&(dt*=2),Ke[0]=Math.ceil(Ke[0]/dt)*dt,Ke[1]=Math.floor(Ke[1]/dt)*dt+dt*.5,Ke[2]=dt,Ke}function Mo(de,Re){return p.range.apply(p,go(de,Re))}var ya={s:1,g:1,p:1,r:1,e:1};function Zn(de){return-Math.floor(Math.log(de)/Math.LN10+.01)}function Po(de,Re){var Ke=Zn(Re[2]);return de in ya?Math.abs(Ke-Zn(Math.max(l(Re[0]),l(Re[1]))))+ +(de!=="e"):Ke-(de==="%")*2}p.scale.log=function(){return us(p.scale.linear().domain([0,1]),10,!0,[1,10])};function us(de,Re,Ke,ft){function dt(It){return(Ke?Math.log(It<0?0:It):-Math.log(It>0?0:-It))/Math.log(Re)}function xt(It){return Ke?Math.pow(Re,It):-Math.pow(Re,-It)}function Jt(It){return de(dt(It))}return Jt.invert=function(It){return xt(de.invert(It))},Jt.domain=function(It){return arguments.length?(Ke=It[0]>=0,de.domain((ft=It.map(Number)).map(dt)),Jt):ft},Jt.base=function(It){return arguments.length?(Re=+It,de.domain(ft.map(dt)),Jt):Re},Jt.nice=function(){var It=yn(ft.map(dt),Ke?Math:Bs);return de.domain(It),ft=It.map(xt),Jt},Jt.ticks=function(){var It=Pn(ft),sr=[],zr=It[0],Or=It[1],bi=Math.floor(dt(zr)),gi=Math.ceil(dt(Or)),Ki=Re%1?2:Re;if(isFinite(gi-bi)){if(Ke){for(;bi0;rn--)sr.push(xt(bi)*rn);for(bi=0;sr[bi]Or;gi--);sr=sr.slice(bi,gi)}return sr},Jt.copy=function(){return us(de.copy(),Re,Ke,ft)},mo(Jt,de)}var Bs={floor:function(de){return-Math.ceil(-de)},ceil:function(de){return-Math.floor(-de)}};p.scale.pow=function(){return sl(p.scale.linear(),1,[0,1])};function sl(de,Re,Ke){var ft=js(Re),dt=js(1/Re);function xt(Jt){return de(ft(Jt))}return xt.invert=function(Jt){return dt(de.invert(Jt))},xt.domain=function(Jt){return arguments.length?(de.domain((Ke=Jt.map(Number)).map(ft)),xt):Ke},xt.ticks=function(Jt){return Mo(Ke,Jt)},xt.tickFormat=function(Jt,It){return d3_scale_linearTickFormat(Ke,Jt,It)},xt.nice=function(Jt){return xt.domain(uo(Ke,Jt))},xt.exponent=function(Jt){return arguments.length?(ft=js(Re=Jt),dt=js(1/Re),de.domain(Ke.map(ft)),xt):Re},xt.copy=function(){return sl(de.copy(),Re,Ke)},mo(xt,de)}function js(de){return function(Re){return Re<0?-Math.pow(-Re,de):Math.pow(Re,de)}}p.scale.sqrt=function(){return p.scale.pow().exponent(.5)},p.scale.ordinal=function(){return il([],{t:"range",a:[[]]})};function il(de,Re){var Ke,ft,dt;function xt(It){return ft[((Ke.get(It)||(Re.t==="range"?Ke.set(It,de.push(It)):NaN))-1)%ft.length]}function Jt(It,sr){return p.range(de.length).map(function(zr){return It+sr*zr})}return xt.domain=function(It){if(!arguments.length)return de;de=[],Ke=new M;for(var sr=-1,zr=It.length,Or;++sr0?Ke[xt-1]:de[0],xtgi?0:1;if(Or=Ee)return sr(Or,rn)+(zr?sr(zr,1-rn):"")+"Z";var Si,Ui,Xi,ln,nn=0,ji=0,Kn,ia,ga,ka,ro,ao,is,lo,ts=[];if((ln=(+Jt.apply(this,arguments)||0)/2)&&(Xi=ft===zu?Math.sqrt(zr*zr+Or*Or):+ft.apply(this,arguments),rn||(ji*=-1),Or&&(ji=Ot(Xi/Or*Math.sin(ln))),zr&&(nn=Ot(Xi/zr*Math.sin(ln)))),Or){Kn=Or*Math.cos(bi+ji),ia=Or*Math.sin(bi+ji),ga=Or*Math.cos(gi-ji),ka=Or*Math.sin(gi-ji);var ul=Math.abs(gi-bi-2*ji)<=Se?0:1;if(ji&&Cc(Kn,ia,ga,ka)===rn^ul){var nl=(bi+gi)/2;Kn=Or*Math.cos(nl),ia=Or*Math.sin(nl),ga=ka=null}}else Kn=ia=0;if(zr){ro=zr*Math.cos(gi-nn),ao=zr*Math.sin(gi-nn),is=zr*Math.cos(bi+nn),lo=zr*Math.sin(bi+nn);var xl=Math.abs(bi-gi+2*nn)<=Se?0:1;if(nn&&Cc(ro,ao,is,lo)===1-rn^xl){var oa=(bi+gi)/2;ro=zr*Math.cos(oa),ao=zr*Math.sin(oa),is=lo=null}}else ro=ao=0;if(Ki>Ze&&(Si=Math.min(Math.abs(Or-zr)/2,+Ke.apply(this,arguments)))>.001){Ui=zr0?0:1}function bo(de,Re,Ke,ft,dt){var xt=de[0]-Re[0],Jt=de[1]-Re[1],It=(dt?ft:-ft)/Math.sqrt(xt*xt+Jt*Jt),sr=It*Jt,zr=-It*xt,Or=de[0]+sr,bi=de[1]+zr,gi=Re[0]+sr,Ki=Re[1]+zr,rn=(Or+gi)/2,Si=(bi+Ki)/2,Ui=gi-Or,Xi=Ki-bi,ln=Ui*Ui+Xi*Xi,nn=Ke-ft,ji=Or*Ki-gi*bi,Kn=(Xi<0?-1:1)*Math.sqrt(Math.max(0,nn*nn*ln-ji*ji)),ia=(ji*Xi-Ui*Kn)/ln,ga=(-ji*Ui-Xi*Kn)/ln,ka=(ji*Xi+Ui*Kn)/ln,ro=(-ji*Ui+Xi*Kn)/ln,ao=ia-rn,is=ga-Si,lo=ka-rn,ts=ro-Si;return ao*ao+is*is>lo*lo+ts*ts&&(ia=ka,ga=ro),[[ia-sr,ga-zr],[ia*Ke/nn,ga*Ke/nn]]}function Ko(){return!0}function Hc(de){var Re=Yo,Ke=da,ft=Ko,dt=yc,xt=dt.key,Jt=.7;function It(sr){var zr=[],Or=[],bi=-1,gi=sr.length,Ki,rn=ti(Re),Si=ti(Ke);function Ui(){zr.push("M",dt(de(Or),Jt))}for(;++bi1?de.join("L"):de+"Z"}function Oe(de){return de.join("L")+"Z"}function R(de){for(var Re=0,Ke=de.length,ft=de[0],dt=[ft[0],",",ft[1]];++Re1&&dt.push("H",ft[0]),dt.join("")}function ie(de){for(var Re=0,Ke=de.length,ft=de[0],dt=[ft[0],",",ft[1]];++Re1){It=Re[1],xt=de[sr],sr++,ft+="C"+(dt[0]+Jt[0])+","+(dt[1]+Jt[1])+","+(xt[0]-It[0])+","+(xt[1]-It[1])+","+xt[0]+","+xt[1];for(var zr=2;zr9&&(xt=Ke*3/Math.sqrt(xt),Jt[It]=xt*ft,Jt[It+1]=xt*dt));for(It=-1;++It<=sr;)xt=(de[Math.min(sr,It+1)][0]-de[Math.max(0,It-1)][0])/(6*(1+Jt[It]*Jt[It])),Re.push([xt||0,Jt[It]*xt||0]);return Re}function tr(de){return de.length<3?yc(de):de[0]+_t(de,Lt(de))}p.svg.line.radial=function(){var de=Hc(or);return de.radius=de.x,delete de.x,de.angle=de.y,delete de.y,de};function or(de){for(var Re,Ke=-1,ft=de.length,dt,xt;++KeSe)+",1 "+bi}function zr(Or,bi,gi,Ki){return"Q 0,0 "+Ki}return xt.radius=function(Or){return arguments.length?(Ke=ti(Or),xt):Ke},xt.source=function(Or){return arguments.length?(de=ti(Or),xt):de},xt.target=function(Or){return arguments.length?(Re=ti(Or),xt):Re},xt.startAngle=function(Or){return arguments.length?(ft=ti(Or),xt):ft},xt.endAngle=function(Or){return arguments.length?(dt=ti(Or),xt):dt},xt};function yi(de){return de.radius}p.svg.diagonal=function(){var de=Sr,Re=Wr,Ke=Ai;function ft(dt,xt){var Jt=de.call(this,dt,xt),It=Re.call(this,dt,xt),sr=(Jt.y+It.y)/2,zr=[Jt,{x:Jt.x,y:sr},{x:It.x,y:sr},It];return zr=zr.map(Ke),"M"+zr[0]+"C"+zr[1]+" "+zr[2]+" "+zr[3]}return ft.source=function(dt){return arguments.length?(de=ti(dt),ft):de},ft.target=function(dt){return arguments.length?(Re=ti(dt),ft):Re},ft.projection=function(dt){return arguments.length?(Ke=dt,ft):Ke},ft};function Ai(de){return[de.x,de.y]}p.svg.diagonal.radial=function(){var de=p.svg.diagonal(),Re=Ai,Ke=de.projection;return de.projection=function(ft){return arguments.length?Ke(Oi(Re=ft)):Re},de};function Oi(de){return function(){var Re=de.apply(this,arguments),Ke=Re[0],ft=Re[1]-be;return[Ke*Math.cos(ft),Ke*Math.sin(ft)]}}p.svg.symbol=function(){var de=Mn,Re=on;function Ke(ft,dt){return(qn.get(de.call(this,ft,dt))||An)(Re.call(this,ft,dt))}return Ke.type=function(ft){return arguments.length?(de=ti(ft),Ke):de},Ke.size=function(ft){return arguments.length?(Re=ti(ft),Ke):Re},Ke};function on(){return 64}function Mn(){return"circle"}function An(de){var Re=Math.sqrt(de/Se);return"M0,"+Re+"A"+Re+","+Re+" 0 1,1 0,"+-Re+"A"+Re+","+Re+" 0 1,1 0,"+Re+"Z"}var qn=p.map({circle:An,cross:function(de){var Re=Math.sqrt(de/5)/2;return"M"+-3*Re+","+-Re+"H"+-Re+"V"+-3*Re+"H"+Re+"V"+-Re+"H"+3*Re+"V"+Re+"H"+Re+"V"+3*Re+"H"+-Re+"V"+Re+"H"+-3*Re+"Z"},diamond:function(de){var Re=Math.sqrt(de/(2*eo)),Ke=Re*eo;return"M0,"+-Re+"L"+Ke+",0 0,"+Re+" "+-Ke+",0Z"},square:function(de){var Re=Math.sqrt(de)/2;return"M"+-Re+","+-Re+"L"+Re+","+-Re+" "+Re+","+Re+" "+-Re+","+Re+"Z"},"triangle-down":function(de){var Re=Math.sqrt(de/ma),Ke=Re*ma/2;return"M0,"+Ke+"L"+Re+","+-Ke+" "+-Re+","+-Ke+"Z"},"triangle-up":function(de){var Re=Math.sqrt(de/ma),Ke=Re*ma/2;return"M0,"+-Ke+"L"+Re+","+Ke+" "+-Re+","+Ke+"Z"}});p.svg.symbolTypes=qn.keys();var ma=Math.sqrt(3),eo=Math.tan(30*Ce);ne.transition=function(de){for(var Re=Ms||++as,Ke=ls(de),ft=[],dt,xt,Jt=pl||{time:Date.now(),ease:yu,delay:0,duration:250},It=-1,sr=this.length;++It0;)bi[--ln].call(de,Xi);if(Ui>=1)return Jt.event&&Jt.event.end.call(de,de.__data__,Re),--xt.count?delete xt[ft]:delete de[Ke],1}Jt||(It=dt.time,sr=Va(gi,0,It),Jt=xt[ft]={tween:new M,time:It,timer:sr,delay:dt.delay,duration:dt.duration,ease:dt.ease,index:Re},dt=null,++xt.count)}p.svg.axis=function(){var de=p.scale.linear(),Re=iu,Ke=6,ft=6,dt=3,xt=[10],Jt=null,It;function sr(zr){zr.each(function(){var Or=p.select(this),bi=this.__chart__||de,gi=this.__chart__=de.copy(),Ki=Jt??(gi.ticks?gi.ticks.apply(gi,xt):gi.domain()),rn=It??(gi.tickFormat?gi.tickFormat.apply(gi,xt):F),Si=Or.selectAll(".tick").data(Ki,gi),Ui=Si.enter().insert("g",".domain").attr("class","tick").style("opacity",Ze),Xi=p.transition(Si.exit()).style("opacity",Ze).remove(),ln=p.transition(Si.order()).style("opacity",1),nn=Math.max(Ke,0)+dt,ji,Kn=Vn(gi),ia=Or.selectAll(".domain").data([0]),ga=(ia.enter().append("path").attr("class","domain"),p.transition(ia));Ui.append("line"),Ui.append("text");var ka=Ui.select("line"),ro=ln.select("line"),ao=Si.select("text").text(rn),is=Ui.select("text"),lo=ln.select("text"),ts=Re==="top"||Re==="left"?-1:1,ul,nl,xl,oa;if(Re==="bottom"||Re==="top"?(ji=_u,ul="x",xl="y",nl="x2",oa="y2",ao.attr("dy",ts<0?"0em":".71em").style("text-anchor","middle"),ga.attr("d","M"+Kn[0]+","+ts*ft+"V0H"+Kn[1]+"V"+ts*ft)):(ji=Il,ul="y",xl="x",nl="y2",oa="x2",ao.attr("dy",".32em").style("text-anchor",ts<0?"end":"start"),ga.attr("d","M"+ts*ft+","+Kn[0]+"H0V"+Kn[1]+"H"+ts*ft)),ka.attr(oa,ts*Ke),is.attr(xl,ts*nn),ro.attr(nl,0).attr(oa,ts*Ke),lo.attr(ul,0).attr(xl,ts*nn),gi.rangeBand){var wo=gi,ws=wo.rangeBand()/2;bi=gi=function(Cs){return wo(Cs)+ws}}else bi.rangeBand?bi=gi:Xi.call(ji,gi,bi);Ui.call(ji,bi,gi),ln.call(ji,gi,gi)})}return sr.scale=function(zr){return arguments.length?(de=zr,sr):de},sr.orient=function(zr){return arguments.length?(Re=zr in Yu?zr+"":iu,sr):Re},sr.ticks=function(){return arguments.length?(xt=A(arguments),sr):xt},sr.tickValues=function(zr){return arguments.length?(Jt=zr,sr):Jt},sr.tickFormat=function(zr){return arguments.length?(It=zr,sr):It},sr.tickSize=function(zr){var Or=arguments.length;return Or?(Ke=+zr,ft=+arguments[Or-1],sr):Ke},sr.innerTickSize=function(zr){return arguments.length?(Ke=+zr,sr):Ke},sr.outerTickSize=function(zr){return arguments.length?(ft=+zr,sr):ft},sr.tickPadding=function(zr){return arguments.length?(dt=+zr,sr):dt},sr.tickSubdivide=function(){return arguments.length&&sr},sr};var iu="bottom",Yu={top:1,right:1,bottom:1,left:1};function _u(de,Re,Ke){de.attr("transform",function(ft){var dt=Re(ft);return"translate("+(isFinite(dt)?dt:Ke(ft))+",0)"})}function Il(de,Re,Ke){de.attr("transform",function(ft){var dt=Re(ft);return"translate(0,"+(isFinite(dt)?dt:Ke(ft))+")"})}p.svg.brush=function(){var de=se(Or,"brushstart","brush","brushend"),Re=null,Ke=null,ft=[0,0],dt=[0,0],xt,Jt,It=!0,sr=!0,zr=Lc[0];function Or(Si){Si.each(function(){var Ui=p.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",rn).on("touchstart.brush",rn),Xi=Ui.selectAll(".background").data([0]);Xi.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),Ui.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var ln=Ui.selectAll(".resize").data(zr,F);ln.exit().remove(),ln.enter().append("g").attr("class",function(ia){return"resize "+ia}).style("cursor",function(ia){return vu[ia]}).append("rect").attr("x",function(ia){return/[ew]$/.test(ia)?-3:null}).attr("y",function(ia){return/^[ns]/.test(ia)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),ln.style("display",Or.empty()?"none":null);var nn=p.transition(Ui),ji=p.transition(Xi),Kn;Re&&(Kn=Vn(Re),ji.attr("x",Kn[0]).attr("width",Kn[1]-Kn[0]),gi(nn)),Ke&&(Kn=Vn(Ke),ji.attr("y",Kn[0]).attr("height",Kn[1]-Kn[0]),Ki(nn)),bi(nn)})}Or.event=function(Si){Si.each(function(){var Ui=de.of(this,arguments),Xi={x:ft,y:dt,i:xt,j:Jt},ln=this.__chart__||Xi;this.__chart__=Xi,Ms?p.select(this).transition().each("start.brush",function(){xt=ln.i,Jt=ln.j,ft=ln.x,dt=ln.y,Ui({type:"brushstart"})}).tween("brush:brush",function(){var nn=ec(ft,Xi.x),ji=ec(dt,Xi.y);return xt=Jt=null,function(Kn){ft=Xi.x=nn(Kn),dt=Xi.y=ji(Kn),Ui({type:"brush",mode:"resize"})}}).each("end.brush",function(){xt=Xi.i,Jt=Xi.j,Ui({type:"brush",mode:"resize"}),Ui({type:"brushend"})}):(Ui({type:"brushstart"}),Ui({type:"brush",mode:"resize"}),Ui({type:"brushend"}))})};function bi(Si){Si.selectAll(".resize").attr("transform",function(Ui){return"translate("+ft[+/e$/.test(Ui)]+","+dt[+/^s/.test(Ui)]+")"})}function gi(Si){Si.select(".extent").attr("x",ft[0]),Si.selectAll(".extent,.n>rect,.s>rect").attr("width",ft[1]-ft[0])}function Ki(Si){Si.select(".extent").attr("y",dt[0]),Si.selectAll(".extent,.e>rect,.w>rect").attr("height",dt[1]-dt[0])}function rn(){var Si=this,Ui=p.select(p.event.target),Xi=de.of(Si,arguments),ln=p.select(Si),nn=Ui.datum(),ji=!/^(n|s)$/.test(nn)&&Re,Kn=!/^(e|w)$/.test(nn)&&Ke,ia=Ui.classed("extent"),ga=mr(Si),ka,ro=p.mouse(Si),ao,is=p.select(t(Si)).on("keydown.brush",ul).on("keyup.brush",nl);if(p.event.changedTouches?is.on("touchmove.brush",xl).on("touchend.brush",wo):is.on("mousemove.brush",xl).on("mouseup.brush",wo),ln.interrupt().selectAll("*").interrupt(),ia)ro[0]=ft[0]-ro[0],ro[1]=dt[0]-ro[1];else if(nn){var lo=+/w$/.test(nn),ts=+/^n/.test(nn);ao=[ft[1-lo]-ro[0],dt[1-ts]-ro[1]],ro[0]=ft[lo],ro[1]=dt[ts]}else p.event.altKey&&(ka=ro.slice());ln.style("pointer-events","none").selectAll(".resize").style("display",null),p.select("body").style("cursor",Ui.style("cursor")),Xi({type:"brushstart"}),xl();function ul(){p.event.keyCode==32&&(ia||(ka=null,ro[0]-=ft[1],ro[1]-=dt[1],ia=2),Q())}function nl(){p.event.keyCode==32&&ia==2&&(ro[0]+=ft[1],ro[1]+=dt[1],ia=0,Q())}function xl(){var ws=p.mouse(Si),Cs=!1;ao&&(ws[0]+=ao[0],ws[1]+=ao[1]),ia||(p.event.altKey?(ka||(ka=[(ft[0]+ft[1])/2,(dt[0]+dt[1])/2]),ro[0]=ft[+(ws[0]0))return jt;do jt.push(cr=new Date(+kt)),ze(kt,Bt),ce(kt);while(cr=Mt)for(;ce(Mt),!kt(Mt);)Mt.setTime(Mt-1)},function(Mt,Bt){if(Mt>=Mt)if(Bt<0)for(;++Bt<=0;)for(;ze(Mt,-1),!kt(Mt););else for(;--Bt>=0;)for(;ze(Mt,1),!kt(Mt););})},Qe&&($e.count=function(kt,Mt){return x.setTime(+kt),A.setTime(+Mt),ce(x),ce(A),Math.floor(Qe(x,A))},$e.every=function(kt){return kt=Math.floor(kt),!isFinite(kt)||!(kt>0)?null:kt>1?$e.filter(it?function(Mt){return it(Mt)%kt===0}:function(Mt){return $e.count(0,Mt)%kt===0}):$e}),$e}var e=S(function(){},function(ce,ze){ce.setTime(+ce+ze)},function(ce,ze){return ze-ce});e.every=function(ce){return ce=Math.floor(ce),!isFinite(ce)||!(ce>0)?null:ce>1?S(function(ze){ze.setTime(Math.floor(ze/ce)*ce)},function(ze,Qe){ze.setTime(+ze+Qe*ce)},function(ze,Qe){return(Qe-ze)/ce}):e};var t=e.range,r=1e3,o=6e4,i=36e5,n=864e5,a=6048e5,s=S(function(ce){ce.setTime(ce-ce.getMilliseconds())},function(ce,ze){ce.setTime(+ce+ze*r)},function(ce,ze){return(ze-ce)/r},function(ce){return ce.getUTCSeconds()}),c=s.range,h=S(function(ce){ce.setTime(ce-ce.getMilliseconds()-ce.getSeconds()*r)},function(ce,ze){ce.setTime(+ce+ze*o)},function(ce,ze){return(ze-ce)/o},function(ce){return ce.getMinutes()}),m=h.range,d=S(function(ce){ce.setTime(ce-ce.getMilliseconds()-ce.getSeconds()*r-ce.getMinutes()*o)},function(ce,ze){ce.setTime(+ce+ze*i)},function(ce,ze){return(ze-ce)/i},function(ce){return ce.getHours()}),T=d.range,l=S(function(ce){ce.setHours(0,0,0,0)},function(ce,ze){ce.setDate(ce.getDate()+ze)},function(ce,ze){return(ze-ce-(ze.getTimezoneOffset()-ce.getTimezoneOffset())*o)/n},function(ce){return ce.getDate()-1}),_=l.range;function w(ce){return S(function(ze){ze.setDate(ze.getDate()-(ze.getDay()+7-ce)%7),ze.setHours(0,0,0,0)},function(ze,Qe){ze.setDate(ze.getDate()+Qe*7)},function(ze,Qe){return(Qe-ze-(Qe.getTimezoneOffset()-ze.getTimezoneOffset())*o)/a})}var M=w(0),E=w(1),g=w(2),b=w(3),v=w(4),u=w(5),y=w(6),f=M.range,P=E.range,L=g.range,z=b.range,F=v.range,O=u.range,B=y.range,I=S(function(ce){ce.setDate(1),ce.setHours(0,0,0,0)},function(ce,ze){ce.setMonth(ce.getMonth()+ze)},function(ce,ze){return ze.getMonth()-ce.getMonth()+(ze.getFullYear()-ce.getFullYear())*12},function(ce){return ce.getMonth()}),N=I.range,U=S(function(ce){ce.setMonth(0,1),ce.setHours(0,0,0,0)},function(ce,ze){ce.setFullYear(ce.getFullYear()+ze)},function(ce,ze){return ze.getFullYear()-ce.getFullYear()},function(ce){return ce.getFullYear()});U.every=function(ce){return!isFinite(ce=Math.floor(ce))||!(ce>0)?null:S(function(ze){ze.setFullYear(Math.floor(ze.getFullYear()/ce)*ce),ze.setMonth(0,1),ze.setHours(0,0,0,0)},function(ze,Qe){ze.setFullYear(ze.getFullYear()+Qe*ce)})};var W=U.range,Q=S(function(ce){ce.setUTCSeconds(0,0)},function(ce,ze){ce.setTime(+ce+ze*o)},function(ce,ze){return(ze-ce)/o},function(ce){return ce.getUTCMinutes()}),le=Q.range,se=S(function(ce){ce.setUTCMinutes(0,0,0)},function(ce,ze){ce.setTime(+ce+ze*i)},function(ce,ze){return(ze-ce)/i},function(ce){return ce.getUTCHours()}),he=se.range,G=S(function(ce){ce.setUTCHours(0,0,0,0)},function(ce,ze){ce.setUTCDate(ce.getUTCDate()+ze)},function(ce,ze){return(ze-ce)/n},function(ce){return ce.getUTCDate()-1}),J=G.range;function $(ce){return S(function(ze){ze.setUTCDate(ze.getUTCDate()-(ze.getUTCDay()+7-ce)%7),ze.setUTCHours(0,0,0,0)},function(ze,Qe){ze.setUTCDate(ze.getUTCDate()+Qe*7)},function(ze,Qe){return(Qe-ze)/a})}var X=$(0),oe=$(1),ne=$(2),j=$(3),ee=$(4),re=$(5),ue=$(6),_e=X.range,we=oe.range,De=ne.range,Ie=j.range,qe=ee.range,tt=re.range,rt=ue.range,Je=S(function(ce){ce.setUTCDate(1),ce.setUTCHours(0,0,0,0)},function(ce,ze){ce.setUTCMonth(ce.getUTCMonth()+ze)},function(ce,ze){return ze.getUTCMonth()-ce.getUTCMonth()+(ze.getUTCFullYear()-ce.getUTCFullYear())*12},function(ce){return ce.getUTCMonth()}),at=Je.range,Me=S(function(ce){ce.setUTCMonth(0,1),ce.setUTCHours(0,0,0,0)},function(ce,ze){ce.setUTCFullYear(ce.getUTCFullYear()+ze)},function(ce,ze){return ze.getUTCFullYear()-ce.getUTCFullYear()},function(ce){return ce.getUTCFullYear()});Me.every=function(ce){return!isFinite(ce=Math.floor(ce))||!(ce>0)?null:S(function(ze){ze.setUTCFullYear(Math.floor(ze.getUTCFullYear()/ce)*ce),ze.setUTCMonth(0,1),ze.setUTCHours(0,0,0,0)},function(ze,Qe){ze.setUTCFullYear(ze.getUTCFullYear()+Qe*ce)})};var pe=Me.range;p.timeDay=l,p.timeDays=_,p.timeFriday=u,p.timeFridays=O,p.timeHour=d,p.timeHours=T,p.timeInterval=S,p.timeMillisecond=e,p.timeMilliseconds=t,p.timeMinute=h,p.timeMinutes=m,p.timeMonday=E,p.timeMondays=P,p.timeMonth=I,p.timeMonths=N,p.timeSaturday=y,p.timeSaturdays=B,p.timeSecond=s,p.timeSeconds=c,p.timeSunday=M,p.timeSundays=f,p.timeThursday=v,p.timeThursdays=F,p.timeTuesday=g,p.timeTuesdays=L,p.timeWednesday=b,p.timeWednesdays=z,p.timeWeek=M,p.timeWeeks=f,p.timeYear=U,p.timeYears=W,p.utcDay=G,p.utcDays=J,p.utcFriday=re,p.utcFridays=tt,p.utcHour=se,p.utcHours=he,p.utcMillisecond=e,p.utcMilliseconds=t,p.utcMinute=Q,p.utcMinutes=le,p.utcMonday=oe,p.utcMondays=we,p.utcMonth=Je,p.utcMonths=at,p.utcSaturday=ue,p.utcSaturdays=rt,p.utcSecond=s,p.utcSeconds=c,p.utcSunday=X,p.utcSundays=_e,p.utcThursday=ee,p.utcThursdays=qe,p.utcTuesday=ne,p.utcTuesdays=De,p.utcWednesday=j,p.utcWednesdays=Ie,p.utcWeek=X,p.utcWeeks=_e,p.utcYear=Me,p.utcYears=pe,Object.defineProperty(p,"__esModule",{value:!0})})}}),Ia=Le({"node_modules/d3-time-format/dist/d3-time-format.js"(Z,q){(function(p,x){typeof Z=="object"&&typeof q<"u"?x(Z,za()):(p=p||self,x(p.d3=p.d3||{},p.d3))})(Z,function(p,x){"use strict";function A(Be){if(0<=Be.y&&Be.y<100){var Ze=new Date(-1,Be.m,Be.d,Be.H,Be.M,Be.S,Be.L);return Ze.setFullYear(Be.y),Ze}return new Date(Be.y,Be.m,Be.d,Be.H,Be.M,Be.S,Be.L)}function S(Be){if(0<=Be.y&&Be.y<100){var Ze=new Date(Date.UTC(-1,Be.m,Be.d,Be.H,Be.M,Be.S,Be.L));return Ze.setUTCFullYear(Be.y),Ze}return new Date(Date.UTC(Be.y,Be.m,Be.d,Be.H,Be.M,Be.S,Be.L))}function e(Be,Ze,Ne){return{y:Be,m:Ze,d:Ne,H:0,M:0,S:0,L:0}}function t(Be){var Ze=Be.dateTime,Ne=Be.date,Se=Be.time,Ve=Be.periods,Ee=Be.days,be=Be.shortDays,Ce=Be.months,et=Be.shortMonths,ht=c(Ve),yt=h(Ve),Pt=c(Ee),Ot=h(Ee),Wt=c(be),$t=h(be),lr=c(Ce),fi=h(Ce),Pi=c(et),Bi=h(et),zi={a:qi,A:$i,b:Mi,B:sn,c:null,d:I,e:I,f:le,H:N,I:U,j:W,L:Q,m:se,M:he,p:vt,q:pt,Q:Mt,s:Bt,S:G,u:J,U:$,V:X,w:oe,W:ne,x:null,X:null,y:j,Y:ee,Z:re,"%":kt},en={a:kr,A:Cr,b:wr,B:Ar,c:null,d:ue,e:ue,f:qe,H:_e,I:we,j:De,L:Ie,m:tt,M:rt,p:Er,q:Br,Q:Mt,s:Bt,S:Je,u:at,U:Me,V:pe,w:ce,W:ze,x:null,X:null,y:Qe,Y:it,Z:$e,"%":kt},Ri={a:qt,A:Ut,b:br,B:Zr,c:_i,d:v,e:v,f:z,H:y,I:y,j:u,L,m:b,M:f,p:Dt,q:g,Q:O,s:B,S:P,u:d,U:T,V:l,w:m,W:_,x:Yr,X:Di,y:M,Y:w,Z:E,"%":F};zi.x=Zi(Ne,zi),zi.X=Zi(Se,zi),zi.c=Zi(Ze,zi),en.x=Zi(Ne,en),en.X=Zi(Se,en),en.c=Zi(Ze,en);function Zi(Pr,Qr){return function(ci){var mi=[],Et=-1,ar=0,gr=Pr.length,ti,wi,Gi;for(ci instanceof Date||(ci=new Date(+ci));++Et53)return null;"w"in mi||(mi.w=1),"Z"in mi?(ar=S(e(mi.y,0,1)),gr=ar.getUTCDay(),ar=gr>4||gr===0?x.utcMonday.ceil(ar):x.utcMonday(ar),ar=x.utcDay.offset(ar,(mi.V-1)*7),mi.y=ar.getUTCFullYear(),mi.m=ar.getUTCMonth(),mi.d=ar.getUTCDate()+(mi.w+6)%7):(ar=A(e(mi.y,0,1)),gr=ar.getDay(),ar=gr>4||gr===0?x.timeMonday.ceil(ar):x.timeMonday(ar),ar=x.timeDay.offset(ar,(mi.V-1)*7),mi.y=ar.getFullYear(),mi.m=ar.getMonth(),mi.d=ar.getDate()+(mi.w+6)%7)}else("W"in mi||"U"in mi)&&("w"in mi||(mi.w="u"in mi?mi.u%7:"W"in mi?1:0),gr="Z"in mi?S(e(mi.y,0,1)).getUTCDay():A(e(mi.y,0,1)).getDay(),mi.m=0,mi.d="W"in mi?(mi.w+6)%7+mi.W*7-(gr+5)%7:mi.w+mi.U*7-(gr+6)%7);return"Z"in mi?(mi.H+=mi.Z/100|0,mi.M+=mi.Z%100,S(mi)):A(mi)}}function Xt(Pr,Qr,ci,mi){for(var Et=0,ar=Qr.length,gr=ci.length,ti,wi;Et=gr)return-1;if(ti=Qr.charCodeAt(Et++),ti===37){if(ti=Qr.charAt(Et++),wi=Ri[ti in r?Qr.charAt(Et++):ti],!wi||(mi=wi(Pr,ci,mi))<0)return-1}else if(ti!=ci.charCodeAt(mi++))return-1}return mi}function Dt(Pr,Qr,ci){var mi=ht.exec(Qr.slice(ci));return mi?(Pr.p=yt[mi[0].toLowerCase()],ci+mi[0].length):-1}function qt(Pr,Qr,ci){var mi=Wt.exec(Qr.slice(ci));return mi?(Pr.w=$t[mi[0].toLowerCase()],ci+mi[0].length):-1}function Ut(Pr,Qr,ci){var mi=Pt.exec(Qr.slice(ci));return mi?(Pr.w=Ot[mi[0].toLowerCase()],ci+mi[0].length):-1}function br(Pr,Qr,ci){var mi=Pi.exec(Qr.slice(ci));return mi?(Pr.m=Bi[mi[0].toLowerCase()],ci+mi[0].length):-1}function Zr(Pr,Qr,ci){var mi=lr.exec(Qr.slice(ci));return mi?(Pr.m=fi[mi[0].toLowerCase()],ci+mi[0].length):-1}function _i(Pr,Qr,ci){return Xt(Pr,Ze,Qr,ci)}function Yr(Pr,Qr,ci){return Xt(Pr,Ne,Qr,ci)}function Di(Pr,Qr,ci){return Xt(Pr,Se,Qr,ci)}function qi(Pr){return be[Pr.getDay()]}function $i(Pr){return Ee[Pr.getDay()]}function Mi(Pr){return et[Pr.getMonth()]}function sn(Pr){return Ce[Pr.getMonth()]}function vt(Pr){return Ve[+(Pr.getHours()>=12)]}function pt(Pr){return 1+~~(Pr.getMonth()/3)}function kr(Pr){return be[Pr.getUTCDay()]}function Cr(Pr){return Ee[Pr.getUTCDay()]}function wr(Pr){return et[Pr.getUTCMonth()]}function Ar(Pr){return Ce[Pr.getUTCMonth()]}function Er(Pr){return Ve[+(Pr.getUTCHours()>=12)]}function Br(Pr){return 1+~~(Pr.getUTCMonth()/3)}return{format:function(Pr){var Qr=Zi(Pr+="",zi);return Qr.toString=function(){return Pr},Qr},parse:function(Pr){var Qr=vn(Pr+="",!1);return Qr.toString=function(){return Pr},Qr},utcFormat:function(Pr){var Qr=Zi(Pr+="",en);return Qr.toString=function(){return Pr},Qr},utcParse:function(Pr){var Qr=vn(Pr+="",!0);return Qr.toString=function(){return Pr},Qr}}}var r={"-":"",_:" ",0:"0"},o=/^\s*\d+/,i=/^%/,n=/[\\^$*+?|[\]().{}]/g;function a(Be,Ze,Ne){var Se=Be<0?"-":"",Ve=(Se?-Be:Be)+"",Ee=Ve.length;return Se+(Ee68?1900:2e3),Ne+Se[0].length):-1}function E(Be,Ze,Ne){var Se=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(Ze.slice(Ne,Ne+6));return Se?(Be.Z=Se[1]?0:-(Se[2]+(Se[3]||"00")),Ne+Se[0].length):-1}function g(Be,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+1));return Se?(Be.q=Se[0]*3-3,Ne+Se[0].length):-1}function b(Be,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+2));return Se?(Be.m=Se[0]-1,Ne+Se[0].length):-1}function v(Be,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+2));return Se?(Be.d=+Se[0],Ne+Se[0].length):-1}function u(Be,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+3));return Se?(Be.m=0,Be.d=+Se[0],Ne+Se[0].length):-1}function y(Be,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+2));return Se?(Be.H=+Se[0],Ne+Se[0].length):-1}function f(Be,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+2));return Se?(Be.M=+Se[0],Ne+Se[0].length):-1}function P(Be,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+2));return Se?(Be.S=+Se[0],Ne+Se[0].length):-1}function L(Be,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+3));return Se?(Be.L=+Se[0],Ne+Se[0].length):-1}function z(Be,Ze,Ne){var Se=o.exec(Ze.slice(Ne,Ne+6));return Se?(Be.L=Math.floor(Se[0]/1e3),Ne+Se[0].length):-1}function F(Be,Ze,Ne){var Se=i.exec(Ze.slice(Ne,Ne+1));return Se?Ne+Se[0].length:-1}function O(Be,Ze,Ne){var Se=o.exec(Ze.slice(Ne));return Se?(Be.Q=+Se[0],Ne+Se[0].length):-1}function B(Be,Ze,Ne){var Se=o.exec(Ze.slice(Ne));return Se?(Be.s=+Se[0],Ne+Se[0].length):-1}function I(Be,Ze){return a(Be.getDate(),Ze,2)}function N(Be,Ze){return a(Be.getHours(),Ze,2)}function U(Be,Ze){return a(Be.getHours()%12||12,Ze,2)}function W(Be,Ze){return a(1+x.timeDay.count(x.timeYear(Be),Be),Ze,3)}function Q(Be,Ze){return a(Be.getMilliseconds(),Ze,3)}function le(Be,Ze){return Q(Be,Ze)+"000"}function se(Be,Ze){return a(Be.getMonth()+1,Ze,2)}function he(Be,Ze){return a(Be.getMinutes(),Ze,2)}function G(Be,Ze){return a(Be.getSeconds(),Ze,2)}function J(Be){var Ze=Be.getDay();return Ze===0?7:Ze}function $(Be,Ze){return a(x.timeSunday.count(x.timeYear(Be)-1,Be),Ze,2)}function X(Be,Ze){var Ne=Be.getDay();return Be=Ne>=4||Ne===0?x.timeThursday(Be):x.timeThursday.ceil(Be),a(x.timeThursday.count(x.timeYear(Be),Be)+(x.timeYear(Be).getDay()===4),Ze,2)}function oe(Be){return Be.getDay()}function ne(Be,Ze){return a(x.timeMonday.count(x.timeYear(Be)-1,Be),Ze,2)}function j(Be,Ze){return a(Be.getFullYear()%100,Ze,2)}function ee(Be,Ze){return a(Be.getFullYear()%1e4,Ze,4)}function re(Be){var Ze=Be.getTimezoneOffset();return(Ze>0?"-":(Ze*=-1,"+"))+a(Ze/60|0,"0",2)+a(Ze%60,"0",2)}function ue(Be,Ze){return a(Be.getUTCDate(),Ze,2)}function _e(Be,Ze){return a(Be.getUTCHours(),Ze,2)}function we(Be,Ze){return a(Be.getUTCHours()%12||12,Ze,2)}function De(Be,Ze){return a(1+x.utcDay.count(x.utcYear(Be),Be),Ze,3)}function Ie(Be,Ze){return a(Be.getUTCMilliseconds(),Ze,3)}function qe(Be,Ze){return Ie(Be,Ze)+"000"}function tt(Be,Ze){return a(Be.getUTCMonth()+1,Ze,2)}function rt(Be,Ze){return a(Be.getUTCMinutes(),Ze,2)}function Je(Be,Ze){return a(Be.getUTCSeconds(),Ze,2)}function at(Be){var Ze=Be.getUTCDay();return Ze===0?7:Ze}function Me(Be,Ze){return a(x.utcSunday.count(x.utcYear(Be)-1,Be),Ze,2)}function pe(Be,Ze){var Ne=Be.getUTCDay();return Be=Ne>=4||Ne===0?x.utcThursday(Be):x.utcThursday.ceil(Be),a(x.utcThursday.count(x.utcYear(Be),Be)+(x.utcYear(Be).getUTCDay()===4),Ze,2)}function ce(Be){return Be.getUTCDay()}function ze(Be,Ze){return a(x.utcMonday.count(x.utcYear(Be)-1,Be),Ze,2)}function Qe(Be,Ze){return a(Be.getUTCFullYear()%100,Ze,2)}function it(Be,Ze){return a(Be.getUTCFullYear()%1e4,Ze,4)}function $e(){return"+0000"}function kt(){return"%"}function Mt(Be){return+Be}function Bt(Be){return Math.floor(+Be/1e3)}var jt;cr({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"]});function cr(Be){return jt=t(Be),p.timeFormat=jt.format,p.timeParse=jt.parse,p.utcFormat=jt.utcFormat,p.utcParse=jt.utcParse,jt}var nr="%Y-%m-%dT%H:%M:%S.%LZ";function Lr(Be){return Be.toISOString()}var mr=Date.prototype.toISOString?Lr:p.utcFormat(nr);function xr(Be){var Ze=new Date(Be);return isNaN(Ze)?null:Ze}var mt=+new Date("2000-01-01T00:00:00.000Z")?xr:p.utcParse(nr);p.isoFormat=mr,p.isoParse=mt,p.timeFormatDefaultLocale=cr,p.timeFormatLocale=t,Object.defineProperty(p,"__esModule",{value:!0})})}}),To=Le({"node_modules/d3-format/dist/d3-format.js"(Z,q){(function(p,x){typeof Z=="object"&&typeof q<"u"?x(Z):(p=typeof globalThis<"u"?globalThis:p||self,x(p.d3=p.d3||{}))})(Z,function(p){"use strict";function x(b){return Math.abs(b=Math.round(b))>=1e21?b.toLocaleString("en").replace(/,/g,""):b.toString(10)}function A(b,v){if((u=(b=v?b.toExponential(v-1):b.toExponential()).indexOf("e"))<0)return null;var u,y=b.slice(0,u);return[y.length>1?y[0]+y.slice(2):y,+b.slice(u+1)]}function S(b){return b=A(Math.abs(b)),b?b[1]:NaN}function e(b,v){return function(u,y){for(var f=u.length,P=[],L=0,z=b[0],F=0;f>0&&z>0&&(F+z+1>y&&(z=Math.max(1,y-F)),P.push(u.substring(f-=z,f+z)),!((F+=z+1)>y));)z=b[L=(L+1)%b.length];return P.reverse().join(v)}}function t(b){return function(v){return v.replace(/[0-9]/g,function(u){return b[+u]})}}var r=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(b){if(!(v=r.exec(b)))throw new Error("invalid format: "+b);var v;return new i({fill:v[1],align:v[2],sign:v[3],symbol:v[4],zero:v[5],width:v[6],comma:v[7],precision:v[8]&&v[8].slice(1),trim:v[9],type:v[10]})}o.prototype=i.prototype;function i(b){this.fill=b.fill===void 0?" ":b.fill+"",this.align=b.align===void 0?">":b.align+"",this.sign=b.sign===void 0?"-":b.sign+"",this.symbol=b.symbol===void 0?"":b.symbol+"",this.zero=!!b.zero,this.width=b.width===void 0?void 0:+b.width,this.comma=!!b.comma,this.precision=b.precision===void 0?void 0:+b.precision,this.trim=!!b.trim,this.type=b.type===void 0?"":b.type+""}i.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function n(b){e:for(var v=b.length,u=1,y=-1,f;u0&&(y=0);break}return y>0?b.slice(0,y)+b.slice(f+1):b}var a;function s(b,v){var u=A(b,v);if(!u)return b+"";var y=u[0],f=u[1],P=f-(a=Math.max(-8,Math.min(8,Math.floor(f/3)))*3)+1,L=y.length;return P===L?y:P>L?y+new Array(P-L+1).join("0"):P>0?y.slice(0,P)+"."+y.slice(P):"0."+new Array(1-P).join("0")+A(b,Math.max(0,v+P-1))[0]}function c(b,v){var u=A(b,v);if(!u)return b+"";var y=u[0],f=u[1];return f<0?"0."+new Array(-f).join("0")+y:y.length>f+1?y.slice(0,f+1)+"."+y.slice(f+1):y+new Array(f-y.length+2).join("0")}var h={"%":function(b,v){return(b*100).toFixed(v)},b:function(b){return Math.round(b).toString(2)},c:function(b){return b+""},d:x,e:function(b,v){return b.toExponential(v)},f:function(b,v){return b.toFixed(v)},g:function(b,v){return b.toPrecision(v)},o:function(b){return Math.round(b).toString(8)},p:function(b,v){return c(b*100,v)},r:c,s,X:function(b){return Math.round(b).toString(16).toUpperCase()},x:function(b){return Math.round(b).toString(16)}};function m(b){return b}var d=Array.prototype.map,T=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function l(b){var v=b.grouping===void 0||b.thousands===void 0?m:e(d.call(b.grouping,Number),b.thousands+""),u=b.currency===void 0?"":b.currency[0]+"",y=b.currency===void 0?"":b.currency[1]+"",f=b.decimal===void 0?".":b.decimal+"",P=b.numerals===void 0?m:t(d.call(b.numerals,String)),L=b.percent===void 0?"%":b.percent+"",z=b.minus===void 0?"-":b.minus+"",F=b.nan===void 0?"NaN":b.nan+"";function O(I){I=o(I);var N=I.fill,U=I.align,W=I.sign,Q=I.symbol,le=I.zero,se=I.width,he=I.comma,G=I.precision,J=I.trim,$=I.type;$==="n"?(he=!0,$="g"):h[$]||(G===void 0&&(G=12),J=!0,$="g"),(le||N==="0"&&U==="=")&&(le=!0,N="0",U="=");var X=Q==="$"?u:Q==="#"&&/[boxX]/.test($)?"0"+$.toLowerCase():"",oe=Q==="$"?y:/[%p]/.test($)?L:"",ne=h[$],j=/[defgprs%]/.test($);G=G===void 0?6:/[gprs]/.test($)?Math.max(1,Math.min(21,G)):Math.max(0,Math.min(20,G));function ee(re){var ue=X,_e=oe,we,De,Ie;if($==="c")_e=ne(re)+_e,re="";else{re=+re;var qe=re<0||1/re<0;if(re=isNaN(re)?F:ne(Math.abs(re),G),J&&(re=n(re)),qe&&+re==0&&W!=="+"&&(qe=!1),ue=(qe?W==="("?W:z:W==="-"||W==="("?"":W)+ue,_e=($==="s"?T[8+a/3]:"")+_e+(qe&&W==="("?")":""),j){for(we=-1,De=re.length;++weIe||Ie>57){_e=(Ie===46?f+re.slice(we+1):re.slice(we))+_e,re=re.slice(0,we);break}}}he&&!le&&(re=v(re,1/0));var tt=ue.length+re.length+_e.length,rt=tt>1)+ue+re+_e+rt.slice(tt);break;default:re=rt+ue+re+_e;break}return P(re)}return ee.toString=function(){return I+""},ee}function B(I,N){var U=O((I=o(I),I.type="f",I)),W=Math.max(-8,Math.min(8,Math.floor(S(N)/3)))*3,Q=Math.pow(10,-W),le=T[8+W/3];return function(se){return U(Q*se)+le}}return{format:O,formatPrefix:B}}var _;w({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function w(b){return _=l(b),p.format=_.format,p.formatPrefix=_.formatPrefix,_}function M(b){return Math.max(0,-S(Math.abs(b)))}function E(b,v){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(S(v)/3)))*3-S(Math.abs(b)))}function g(b,v){return b=Math.abs(b),v=Math.abs(v)-b,Math.max(0,S(v)-S(b))+1}p.FormatSpecifier=i,p.formatDefaultLocale=w,p.formatLocale=l,p.formatSpecifier=o,p.precisionFixed=M,p.precisionPrefix=E,p.precisionRound=g,Object.defineProperty(p,"__esModule",{value:!0})})}}),Xn=Le({"node_modules/is-string-blank/index.js"(Z,q){"use strict";q.exports=function(p){for(var x=p.length,A,S=0;S13)&&A!==32&&A!==133&&A!==160&&A!==5760&&A!==6158&&(A<8192||A>8205)&&A!==8232&&A!==8233&&A!==8239&&A!==8287&&A!==8288&&A!==12288&&A!==65279)return!1;return!0}}}),zn=Le({"node_modules/fast-isnumeric/index.js"(Z,q){"use strict";var p=Xn();q.exports=function(x){var A=typeof x;if(A==="string"){var S=x;if(x=+x,x===0&&p(S))return!1}else if(A!=="number")return!1;return x-x<1}}}),$n=Le({"src/constants/numerical.js"(Z,q){"use strict";q.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,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:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}}}),Ao=Le({"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js"(Z,q){(function(p,x){typeof Z=="object"&&typeof q<"u"?x(Z):(p=typeof globalThis<"u"?globalThis:p||self,x(p["base64-arraybuffer"]={}))})(Z,function(p){"use strict";for(var x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",A=typeof Uint8Array>"u"?[]:new Uint8Array(256),S=0;S>2],a+=x[(o[i]&3)<<4|o[i+1]>>4],a+=x[(o[i+1]&15)<<2|o[i+2]>>6],a+=x[o[i+2]&63];return n%3===2?a=a.substring(0,a.length-1)+"=":n%3===1&&(a=a.substring(0,a.length-2)+"=="),a},t=function(r){var o=r.length*.75,i=r.length,n,a=0,s,c,h,m;r[r.length-1]==="="&&(o--,r[r.length-2]==="="&&o--);var d=new ArrayBuffer(o),T=new Uint8Array(d);for(n=0;n>4,T[a++]=(c&15)<<4|h>>2,T[a++]=(h&3)<<6|m&63;return d};p.decode=t,p.encode=e,Object.defineProperty(p,"__esModule",{value:!0})})}}),$s=Le({"src/lib/is_plain_object.js"(Z,q){"use strict";q.exports=function(x){return window&&window.process&&window.process.versions?Object.prototype.toString.call(x)==="[object Object]":Object.prototype.toString.call(x)==="[object Object]"&&Object.getPrototypeOf(x).hasOwnProperty("hasOwnProperty")}}}),cl=Le({"src/lib/array.js"(Z){"use strict";var q=Ao().decode,p=$s(),x=Array.isArray,A=ArrayBuffer,S=DataView;function e(s){return A.isView(s)&&!(s instanceof S)}Z.isTypedArray=e;function t(s){return x(s)||e(s)}Z.isArrayOrTypedArray=t;function r(s){return!t(s[0])}Z.isArray1D=r,Z.ensureArray=function(s,c){return x(s)||(s=[]),s.length=c,s};var o={u1c:typeof Uint8ClampedArray>"u"?void 0:Uint8ClampedArray,i1:typeof Int8Array>"u"?void 0:Int8Array,u1:typeof Uint8Array>"u"?void 0:Uint8Array,i2:typeof Int16Array>"u"?void 0:Int16Array,u2:typeof Uint16Array>"u"?void 0:Uint16Array,i4:typeof Int32Array>"u"?void 0:Int32Array,u4:typeof Uint32Array>"u"?void 0:Uint32Array,f4:typeof Float32Array>"u"?void 0:Float32Array,f8:typeof Float64Array>"u"?void 0:Float64Array};o.uint8c=o.u1c,o.uint8=o.u1,o.int8=o.i1,o.uint16=o.u2,o.int16=o.i2,o.uint32=o.u4,o.int32=o.i4,o.float32=o.f4,o.float64=o.f8;function i(s){return s.constructor===ArrayBuffer}Z.isArrayBuffer=i,Z.decodeTypedArraySpec=function(s){var c=[],h=n(s),m=h.dtype,d=o[m];if(!d)throw new Error('Error in dtype: "'+m+'"');var T=d.BYTES_PER_ELEMENT,l=h.bdata;i(l)||(l=q(l));var _=h.shape===void 0?[l.byteLength/T]:(""+h.shape).split(",");_.reverse();var w=_.length,M,E,g=+_[0],b=T*g,v=0;if(w===1)c=new d(l);else if(w===2)for(M=+_[1],E=0;E2)return d[M]=d[M]|e,_.set(w,null);if(l){for(c=M;c0)return Math.log(A)/Math.LN10;var e=Math.log(Math.min(S[0],S[1]))/Math.LN10;return p(e)||(e=Math.log(Math.max(S[0],S[1]))/Math.LN10-6),e}}}),Tc=Le({"src/lib/relink_private.js"(Z,q){"use strict";var p=cl().isArrayOrTypedArray,x=$s();q.exports=function A(S,e){for(var t in e){var r=e[t],o=S[t];if(o!==r)if(t.charAt(0)==="_"||typeof r=="function"){if(t in S)continue;S[t]=r}else if(p(r)&&p(o)&&x(r[0])){if(t==="customdata"||t==="ids")continue;for(var i=Math.min(r.length,o.length),n=0;nS/2?A-Math.round(A/S)*S:A}q.exports={mod:p,modHalf:x}}}),Vl=Le({"node_modules/tinycolor2/tinycolor.js"(Z,q){(function(p){var x=/^\s+/,A=/\s+$/,S=0,e=p.round,t=p.min,r=p.max,o=p.random;function i(j,ee){if(j=j||"",ee=ee||{},j instanceof i)return j;if(!(this instanceof i))return new i(j,ee);var re=n(j);this._originalInput=j,this._r=re.r,this._g=re.g,this._b=re.b,this._a=re.a,this._roundA=e(100*this._a)/100,this._format=ee.format||re.format,this._gradientType=ee.gradientType,this._r<1&&(this._r=e(this._r)),this._g<1&&(this._g=e(this._g)),this._b<1&&(this._b=e(this._b)),this._ok=re.ok,this._tc_id=S++}i.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 j=this.toRgb();return(j.r*299+j.g*587+j.b*114)/1e3},getLuminance:function(){var j=this.toRgb(),ee,re,ue,_e,we,De;return ee=j.r/255,re=j.g/255,ue=j.b/255,ee<=.03928?_e=ee/12.92:_e=p.pow((ee+.055)/1.055,2.4),re<=.03928?we=re/12.92:we=p.pow((re+.055)/1.055,2.4),ue<=.03928?De=ue/12.92:De=p.pow((ue+.055)/1.055,2.4),.2126*_e+.7152*we+.0722*De},setAlpha:function(j){return this._a=I(j),this._roundA=e(100*this._a)/100,this},toHsv:function(){var j=h(this._r,this._g,this._b);return{h:j.h*360,s:j.s,v:j.v,a:this._a}},toHsvString:function(){var j=h(this._r,this._g,this._b),ee=e(j.h*360),re=e(j.s*100),ue=e(j.v*100);return this._a==1?"hsv("+ee+", "+re+"%, "+ue+"%)":"hsva("+ee+", "+re+"%, "+ue+"%, "+this._roundA+")"},toHsl:function(){var j=s(this._r,this._g,this._b);return{h:j.h*360,s:j.s,l:j.l,a:this._a}},toHslString:function(){var j=s(this._r,this._g,this._b),ee=e(j.h*360),re=e(j.s*100),ue=e(j.l*100);return this._a==1?"hsl("+ee+", "+re+"%, "+ue+"%)":"hsla("+ee+", "+re+"%, "+ue+"%, "+this._roundA+")"},toHex:function(j){return d(this._r,this._g,this._b,j)},toHexString:function(j){return"#"+this.toHex(j)},toHex8:function(j){return T(this._r,this._g,this._b,this._a,j)},toHex8String:function(j){return"#"+this.toHex8(j)},toRgb:function(){return{r:e(this._r),g:e(this._g),b:e(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+e(this._r)+", "+e(this._g)+", "+e(this._b)+")":"rgba("+e(this._r)+", "+e(this._g)+", "+e(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:e(N(this._r,255)*100)+"%",g:e(N(this._g,255)*100)+"%",b:e(N(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+e(N(this._r,255)*100)+"%, "+e(N(this._g,255)*100)+"%, "+e(N(this._b,255)*100)+"%)":"rgba("+e(N(this._r,255)*100)+"%, "+e(N(this._g,255)*100)+"%, "+e(N(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:O[d(this._r,this._g,this._b,!0)]||!1},toFilter:function(j){var ee="#"+l(this._r,this._g,this._b,this._a),re=ee,ue=this._gradientType?"GradientType = 1, ":"";if(j){var _e=i(j);re="#"+l(_e._r,_e._g,_e._b,_e._a)}return"progid:DXImageTransform.Microsoft.gradient("+ue+"startColorstr="+ee+",endColorstr="+re+")"},toString:function(j){var ee=!!j;j=j||this._format;var re=!1,ue=this._a<1&&this._a>=0,_e=!ee&&ue&&(j==="hex"||j==="hex6"||j==="hex3"||j==="hex4"||j==="hex8"||j==="name");return _e?j==="name"&&this._a===0?this.toName():this.toRgbString():(j==="rgb"&&(re=this.toRgbString()),j==="prgb"&&(re=this.toPercentageRgbString()),(j==="hex"||j==="hex6")&&(re=this.toHexString()),j==="hex3"&&(re=this.toHexString(!0)),j==="hex4"&&(re=this.toHex8String(!0)),j==="hex8"&&(re=this.toHex8String()),j==="name"&&(re=this.toName()),j==="hsl"&&(re=this.toHslString()),j==="hsv"&&(re=this.toHsvString()),re||this.toHexString())},clone:function(){return i(this.toString())},_applyModification:function(j,ee){var re=j.apply(null,[this].concat([].slice.call(ee)));return this._r=re._r,this._g=re._g,this._b=re._b,this.setAlpha(re._a),this},lighten:function(){return this._applyModification(E,arguments)},brighten:function(){return this._applyModification(g,arguments)},darken:function(){return this._applyModification(b,arguments)},desaturate:function(){return this._applyModification(_,arguments)},saturate:function(){return this._applyModification(w,arguments)},greyscale:function(){return this._applyModification(M,arguments)},spin:function(){return this._applyModification(v,arguments)},_applyCombination:function(j,ee){return j.apply(null,[this].concat([].slice.call(ee)))},analogous:function(){return this._applyCombination(L,arguments)},complement:function(){return this._applyCombination(u,arguments)},monochromatic:function(){return this._applyCombination(z,arguments)},splitcomplement:function(){return this._applyCombination(P,arguments)},triad:function(){return this._applyCombination(y,arguments)},tetrad:function(){return this._applyCombination(f,arguments)}},i.fromRatio=function(j,ee){if(typeof j=="object"){var re={};for(var ue in j)j.hasOwnProperty(ue)&&(ue==="a"?re[ue]=j[ue]:re[ue]=he(j[ue]));j=re}return i(j,ee)};function n(j){var ee={r:0,g:0,b:0},re=1,ue=null,_e=null,we=null,De=!1,Ie=!1;return typeof j=="string"&&(j=oe(j)),typeof j=="object"&&(X(j.r)&&X(j.g)&&X(j.b)?(ee=a(j.r,j.g,j.b),De=!0,Ie=String(j.r).substr(-1)==="%"?"prgb":"rgb"):X(j.h)&&X(j.s)&&X(j.v)?(ue=he(j.s),_e=he(j.v),ee=m(j.h,ue,_e),De=!0,Ie="hsv"):X(j.h)&&X(j.s)&&X(j.l)&&(ue=he(j.s),we=he(j.l),ee=c(j.h,ue,we),De=!0,Ie="hsl"),j.hasOwnProperty("a")&&(re=j.a)),re=I(re),{ok:De,format:j.format||Ie,r:t(255,r(ee.r,0)),g:t(255,r(ee.g,0)),b:t(255,r(ee.b,0)),a:re}}function a(j,ee,re){return{r:N(j,255)*255,g:N(ee,255)*255,b:N(re,255)*255}}function s(j,ee,re){j=N(j,255),ee=N(ee,255),re=N(re,255);var ue=r(j,ee,re),_e=t(j,ee,re),we,De,Ie=(ue+_e)/2;if(ue==_e)we=De=0;else{var qe=ue-_e;switch(De=Ie>.5?qe/(2-ue-_e):qe/(ue+_e),ue){case j:we=(ee-re)/qe+(ee1&&(Je-=1),Je<1/6?tt+(rt-tt)*6*Je:Je<1/2?rt:Je<2/3?tt+(rt-tt)*(2/3-Je)*6:tt}if(ee===0)ue=_e=we=re;else{var Ie=re<.5?re*(1+ee):re+ee-re*ee,qe=2*re-Ie;ue=De(qe,Ie,j+1/3),_e=De(qe,Ie,j),we=De(qe,Ie,j-1/3)}return{r:ue*255,g:_e*255,b:we*255}}function h(j,ee,re){j=N(j,255),ee=N(ee,255),re=N(re,255);var ue=r(j,ee,re),_e=t(j,ee,re),we,De,Ie=ue,qe=ue-_e;if(De=ue===0?0:qe/ue,ue==_e)we=0;else{switch(ue){case j:we=(ee-re)/qe+(ee>1)+720)%360;--ee;)ue.h=(ue.h+_e)%360,we.push(i(ue));return we}function z(j,ee){ee=ee||6;for(var re=i(j).toHsv(),ue=re.h,_e=re.s,we=re.v,De=[],Ie=1/ee;ee--;)De.push(i({h:ue,s:_e,v:we})),we=(we+Ie)%1;return De}i.mix=function(j,ee,re){re=re===0?0:re||50;var ue=i(j).toRgb(),_e=i(ee).toRgb(),we=re/100,De={r:(_e.r-ue.r)*we+ue.r,g:(_e.g-ue.g)*we+ue.g,b:(_e.b-ue.b)*we+ue.b,a:(_e.a-ue.a)*we+ue.a};return i(De)},i.readability=function(j,ee){var re=i(j),ue=i(ee);return(p.max(re.getLuminance(),ue.getLuminance())+.05)/(p.min(re.getLuminance(),ue.getLuminance())+.05)},i.isReadable=function(j,ee,re){var ue=i.readability(j,ee),_e,we;switch(we=!1,_e=ne(re),_e.level+_e.size){case"AAsmall":case"AAAlarge":we=ue>=4.5;break;case"AAlarge":we=ue>=3;break;case"AAAsmall":we=ue>=7;break}return we},i.mostReadable=function(j,ee,re){var ue=null,_e=0,we,De,Ie,qe;re=re||{},De=re.includeFallbackColors,Ie=re.level,qe=re.size;for(var tt=0;tt_e&&(_e=we,ue=i(ee[tt]));return i.isReadable(j,ue,{level:Ie,size:qe})||!De?ue:(re.includeFallbackColors=!1,i.mostReadable(j,["#fff","#000"],re))};var F=i.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=i.hexNames=B(F);function B(j){var ee={};for(var re in j)j.hasOwnProperty(re)&&(ee[j[re]]=re);return ee}function I(j){return j=parseFloat(j),(isNaN(j)||j<0||j>1)&&(j=1),j}function N(j,ee){Q(j)&&(j="100%");var re=le(j);return j=t(ee,r(0,parseFloat(j))),re&&(j=parseInt(j*ee,10)/100),p.abs(j-ee)<1e-6?1:j%ee/parseFloat(ee)}function U(j){return t(1,r(0,j))}function W(j){return parseInt(j,16)}function Q(j){return typeof j=="string"&&j.indexOf(".")!=-1&&parseFloat(j)===1}function le(j){return typeof j=="string"&&j.indexOf("%")!=-1}function se(j){return j.length==1?"0"+j:""+j}function he(j){return j<=1&&(j=j*100+"%"),j}function G(j){return p.round(parseFloat(j)*255).toString(16)}function J(j){return W(j)/255}var $=function(){var j="[-\\+]?\\d+%?",ee="[-\\+]?\\d*\\.\\d+%?",re="(?:"+ee+")|(?:"+j+")",ue="[\\s|\\(]+("+re+")[,|\\s]+("+re+")[,|\\s]+("+re+")\\s*\\)?",_e="[\\s|\\(]+("+re+")[,|\\s]+("+re+")[,|\\s]+("+re+")[,|\\s]+("+re+")\\s*\\)?";return{CSS_UNIT:new RegExp(re),rgb:new RegExp("rgb"+ue),rgba:new RegExp("rgba"+_e),hsl:new RegExp("hsl"+ue),hsla:new RegExp("hsla"+_e),hsv:new RegExp("hsv"+ue),hsva:new RegExp("hsva"+_e),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 X(j){return!!$.CSS_UNIT.exec(j)}function oe(j){j=j.replace(x,"").replace(A,"").toLowerCase();var ee=!1;if(F[j])j=F[j],ee=!0;else if(j=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var re;return(re=$.rgb.exec(j))?{r:re[1],g:re[2],b:re[3]}:(re=$.rgba.exec(j))?{r:re[1],g:re[2],b:re[3],a:re[4]}:(re=$.hsl.exec(j))?{h:re[1],s:re[2],l:re[3]}:(re=$.hsla.exec(j))?{h:re[1],s:re[2],l:re[3],a:re[4]}:(re=$.hsv.exec(j))?{h:re[1],s:re[2],v:re[3]}:(re=$.hsva.exec(j))?{h:re[1],s:re[2],v:re[3],a:re[4]}:(re=$.hex8.exec(j))?{r:W(re[1]),g:W(re[2]),b:W(re[3]),a:J(re[4]),format:ee?"name":"hex8"}:(re=$.hex6.exec(j))?{r:W(re[1]),g:W(re[2]),b:W(re[3]),format:ee?"name":"hex"}:(re=$.hex4.exec(j))?{r:W(re[1]+""+re[1]),g:W(re[2]+""+re[2]),b:W(re[3]+""+re[3]),a:J(re[4]+""+re[4]),format:ee?"name":"hex8"}:(re=$.hex3.exec(j))?{r:W(re[1]+""+re[1]),g:W(re[2]+""+re[2]),b:W(re[3]+""+re[3]),format:ee?"name":"hex"}:!1}function ne(j){var ee,re;return j=j||{level:"AA",size:"small"},ee=(j.level||"AA").toUpperCase(),re=(j.size||"small").toLowerCase(),ee!=="AA"&&ee!=="AAA"&&(ee="AA"),re!=="small"&&re!=="large"&&(re="small"),{level:ee,size:re}}typeof q<"u"&&q.exports?q.exports=i:window.tinycolor=i})(Math)}}),ho=Le({"src/lib/extend.js"(Z){"use strict";var q=$s(),p=Array.isArray;function x(S,e){var t,r;for(t=0;t=0)))return i;if(h===3)s[h]>1&&(s[h]=1);else if(s[h]>=1)return i}var m=Math.round(s[0]*255)+", "+Math.round(s[1]*255)+", "+Math.round(s[2]*255);return c?"rgba("+m+", "+s[3]+")":"rgb("+m+")"}}}),Iv=Le({"src/constants/interactions.js"(Z,q){"use strict";q.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}}}),no=Le({"src/lib/regex.js"(Z){"use strict";Z.counter=function(q,p,x,A){var S=(p||"")+(x?"":"$"),e=A===!1?"":"^";return q==="xy"?new RegExp(e+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+S):new RegExp(e+q+"([2-9]|[1-9][0-9]+)?"+S)}}}),Ro=Le({"src/lib/coerce.js"(Z){"use strict";var q=zn(),p=Vl(),x=ho().extendFlat,A=Sl(),S=lp(),e=$a(),t=Iv().DESELECTDIM,r=jl(),o=no().counter,i=Vu().modHalf,n=cl().isArrayOrTypedArray,a=cl().isTypedArraySpec,s=cl().decodeTypedArraySpec;Z.valObjectMeta={data_array:{coerceFunction:function(h,m,d){m.set(n(h)?h:a(h)?s(h):d)}},enumerated:{coerceFunction:function(h,m,d,T){T.coerceNumber&&(h=+h),T.values.indexOf(h)===-1?m.set(d):m.set(h)},validateFunction:function(h,m){m.coerceNumber&&(h=+h);for(var d=m.values,T=0;TT.max?m.set(d):m.set(+h)}},integer:{coerceFunction:function(h,m,d,T){if((T.extras||[]).indexOf(h)!==-1){m.set(h);return}a(h)&&(h=s(h)),h%1||!q(h)||T.min!==void 0&&hT.max?m.set(d):m.set(+h)}},string:{coerceFunction:function(h,m,d,T){if(typeof h!="string"){var l=typeof h=="number";T.strict===!0||!l?m.set(d):m.set(String(h))}else T.noBlank&&!h?m.set(d):m.set(h)}},color:{coerceFunction:function(h,m,d){a(h)&&(h=s(h)),p(h).isValid()?m.set(h):m.set(d)}},colorlist:{coerceFunction:function(h,m,d){function T(l){return p(l).isValid()}!Array.isArray(h)||!h.length?m.set(d):h.every(T)?m.set(h):m.set(d)}},colorscale:{coerceFunction:function(h,m,d){m.set(S.get(h,d))}},angle:{coerceFunction:function(h,m,d){a(h)&&(h=s(h)),h==="auto"?m.set("auto"):q(h)?m.set(i(+h,360)):m.set(d)}},subplotid:{coerceFunction:function(h,m,d,T){var l=T.regex||o(d);if(typeof h=="string"&&l.test(h)){m.set(h);return}m.set(d)},validateFunction:function(h,m){var d=m.dflt;return h===d?!0:typeof h!="string"?!1:!!o(d).test(h)}},flaglist:{coerceFunction:function(h,m,d,T){if((T.extras||[]).indexOf(h)!==-1){m.set(h);return}if(typeof h!="string"){m.set(d);return}for(var l=h.split("+"),_=0;_/g),h=0;h1){var e=["LOG:"];for(S=0;S1){var t=[];for(S=0;S"),"long")}},A.warn=function(){var S;if(p.logging>0){var e=["WARN:"];for(S=0;S0){var t=[];for(S=0;S"),"stick")}},A.error=function(){var S;if(p.logging>0){var e=["ERROR:"];for(S=0;S0){var t=[];for(S=0;S